1. 程式人生 > >開發人員必讀的11本最具影響力書籍

開發人員必讀的11本最具影響力書籍

對於一個程式設計師而言,在學校裡學不到多少工作中真正需要的知識,只有在工作中實踐積累並且看一些優秀的書籍,把實踐和理論結合起來才能夠更好的工作。尤其是在技術日益發展和變化的今天,每個開發者更應該主動的看書去學習程式設計技巧並且改變程式設計方法,才能應付工作中各種複雜的專案。同時也可以在程式設計中更高效、彈性和準確的解決問題。下面列出了11本對開發人員很有益的書籍,大家可以從中選取感興趣的進行閱讀。

1. 《程式碼大全》(Code Complete)

第二版的程式碼大全增加了很多與時俱進的內容,涵蓋了軟體構建過程中的所有細節。它從軟體質量和程式設計思想等方面論述了軟體構建的各個問題,並詳細論述了緊跟潮流的新技術、高屋建瓴的觀點、以及簡單明瞭的通用概念,當然也含有豐富而典型的程式示例。

評語:引用一位網友的評論:恰恰是這種藝術與科學相互融合的產物帶給程式設計師無比的滿足感。老少皆宜的讀物,這本書不論對技術大牛、亦或是自學剛入門的程式設計師都是大有益處的,感興趣的可以去看看。

2.《程式設計師修煉之道》(Pragmatic Programmer)

中文名翻譯的很形象,這是一本介紹軟體開發中日益增長的規範和技術技巧的書籍,即根據需求,建立使用者樂於接受的、可工作和易維護的程式碼,保持程式碼靈活和易於改編重用的架構技術。另外也有防止軟體變質、提高編寫靈活、避免相同設計、以及對程式碼防護等內容。

評語:一本可以提高程式設計師實效性的書籍,這本書對有一定程式碼量和專案經驗的人能引起共鳴,你看完後會反思:程式為什麼要這麼設計?怎麼才能寫出更好的程式?如何才能在程式設計中少走不必要的彎路?推薦一些技術大牛閱讀。

3.《計算機程式設計與解釋》(Structure and Interpretation of Computer Programs)

該書被世界各地100多所院校用作教材,其中包括美國斯坦福大學、英國牛津大學、日本東京大學等。在修訂版中,作者根據十餘年的教學實踐,對大部分重要設計系統都重新修改並做過測試,包括各種直譯器和編譯器。涵蓋面很廣,從資料抽象、過程抽象、迭代、高階函式等程式設計到資料結構和演算法。

評語:每一位技術大牛都應該閱讀這本書。因為本書清晰、簡潔和富於才智,適合那些深刻理解電腦科學的人們。

4.《C程式設計語言》(C Programming Language 2nd Edition)

值得一提的是本書是由C語言之父Dennis Ritchie和Brian W. Kernighan共同編寫,是一部介紹C語言及程式設計方法的權威性經典著作。本書全面講述了C語言的各個特性及程式設計方法,配合典型例證,使得本書通俗易懂,實用性強。

評語:該書是學習C語言必讀書籍,堪稱經典,有C語言的“聖經”美稱,其實用性,會讓讀者愛不釋手。

5.《演算法導論》(Introduction to Algorithms)

本書全面介紹了計算機演算法,涵蓋的內容有:演算法在計算中的作用,概率分析和隨機演算法的介紹,另外也介紹了隨機化和線性規劃技術的近似演算法等。全書還提供了900多個練習題和思考題以及詳細的例項研究。

評語:《演算法導論》是一本將嚴謹性和全面性融為一體的演算法類書籍,可以與高德納的《計算機程式設計藝術》相媲美,該著作有點深奧,一朝一夕讀不透,建議讀者多閱讀幾遍。

6.《重構:改善既有程式碼的設計》(Refactoring: Improving the Design of Existing Code)

本書揭示了重構的過程,揭示了重構的原理和最佳實踐方式,能夠幫助你一次一小步的修改你的程式碼,從而減少了開發過程中的風險。書中還給出了70多個可行的重構,以及指導你何時何地應該開始挖掘程式碼以求改善。

評語:該著作適合軟體開發人員、專案管理人員閱讀,讀者讀完後或許會有醍醐灌頂般感覺,書中蘊含著精華,值得反覆咀嚼。

7.《人月神話》(The Mythical Man-Month)

作者Frederick P. Brooks曾榮獲圖靈獎,本書為人們管理複雜專案提供了頗具洞察力的見解,有發人深省的觀點,也有大量軟體工程實踐,包括作者在IBM公司System 360家族和OS 360中專案管理經驗,新的版本中也還有作者對某些觀點新的認識、一些精華的提煉、也有大量工程實踐,為每個複雜專案的管理者給出了自己的真知灼見。

評語:本著作適合軟體開發人員、專案經理、系統分析師等工程管理人士閱讀。最好有面向物件經驗,此書雖是一本非技術書,但會給你帶來很多感觸和實用價值。

8.《計算機程式設計藝術》(The Art of Computer Programming)

本書是高德納(Donald Ervin Knuth)所著,作者曾因三卷書獲得美國1974年圖靈獎,是20世界最佳12部學術專著之一。本書結合了大量數學知識,分析不同領域中的各種演算法,其引入的許多術語、得到的許多結論都變成了計算機領域的標準術語和被廣泛引用的結果,此外也描述了程式設計在模擬、數值方法、符號計算、軟體與系統設計等方面的應用。

評語:比爾·蓋茨曾說過:如果讀懂整套書的話,請給他發一份你的簡歷。通過這句話足以說明該著作對開發者影響是巨大的。屬於純理論級別的,每次翻閱都會有新的收穫,可以當“辭海”來讀。

9.《程式碼整潔之道》(Clean Code: A Handbook of Agile Software Craftsmanship)

軟體質量,不僅依賴於架構及專案管理,也與程式碼質量相關。本書給出了一系列行之有效的整潔程式碼操作實踐,並用來自現實專案的正、反兩面來例證,只要遵循這些規則,就能編寫出乾淨的程式碼,從而有效提升程式碼質量。

評語:該著作適合老程式設計師、技術經理。有網友驚呼“早幾年看到這本書,也許現在水平能再上一個臺階。”,因此有一定經驗和對程式設計認識到位的人,讀完此書將得到更多。

10.《程式設計人生》(Coders at Work: Reflections on the Craft of Programming)

世界頂尖的程式設計師是怎麼走上程式設計道路的?他們程式設計工作創造和改變了人類歷史,在這一過程中有什麼經驗和教訓?更有什麼獨到的看法?本書是一本訪談錄,記錄了當今最具個人魅力的15位軟體先驅的程式設計生涯,為我們講述了他們是怎麼學習程式設計的,以及在學習當中發現了什麼,有什麼看法?並對諸如應該如何設計軟體等困擾程式設計師的老話題談了自己的看法。

評語:適合所有程式設計師。看完這本書的讀者,或許職業眼界會更開闊,不會再做無謂的碼農勞動。

11.《編碼:隱匿在計算機軟硬體背後的語言》(CODE: The Hidden Language of Computer Hardware and Software)

《編碼:隱匿在計算機軟硬體背後的語言》是一本講述計算機工作原理的書,不過不要一聽“工作原理”等字眼就認為本書是晦澀難懂的。作者用清晰明瞭的筆墨把複雜的理論寫的通俗易懂,閱讀的時候你不會感到枯燥和生硬,同時你也會獲得對計算機工作原理深刻的理解。

評語:不知網友有沒有看過《明朝那些事兒》這本書?如同這本書把歷史寫的如同小說一樣好看,《編碼:隱匿在計算機軟硬體背後的語言》這本書也做到了,讀完後你會覺得很好玩,同時也能學到真正的知識,加深對電腦科學的理解和認識。

最後:從計算機發明至今,隨著計算機硬體和軟體技術的發展,計算機的程式語言經歷了機器語言、組合語言、面向過程的程式設計語言以及面向物件的程式設計語言階段。技術的飛速發展,使得開發者只有不斷學習,才能提高技術讓自己在程式設計的道路上走的更遠。以上推薦的11本書,希望讓各位開發者讀後受益匪淺。