當前位置:國文齋>勵志>勵志書籍>

程序員一生必讀的書籍推薦

勵志書籍 閱讀(1.09W)

要成爲一個更好的程序人員,我應該讀哪些書?下面是由本站小編給大家帶來關於程序員一生必讀的書籍推薦,希望對大家有幫助!

程序員一生必讀的書籍推薦

程序員一生必讀的書籍推薦

程序員一生必讀的書:《修改代碼的藝術Working Effectively with Legacy Code》

我之所以喜歡這本書,是因爲幾乎所有的軟件開發人員,在其職業生涯的某個時刻,往往會不得不支持和工作於遺留系統。在這本書中,Michael Feathers提供了從開始到結束的策略,以便於更有效地工作於未經測試的遺留代碼庫。本書借鑑了Michael爲其著名的Object Mentor專題研討會創作的材料:Michael用於指導的技術,以幫助開發人員,技術管理人員和測試人員掌控遺留系統。

程序員一生必讀的書:《人月神話The Mythical Man-Month》

本書是一本經典之作,但最近被修改和更正了。令人驚奇的是這本書仍然與軟件產品開發密切相關。如果你從事軟件的話,這本書是必讀的。這本書最有價值的部分,我相信,是“計劃拋棄plan to throw out”原型章節。儘管我們的目標通常是做一個更大,更好,更快,不管它是什麼的東西,但是我們總會構建出一些不得不被廢棄,需要重做的東西。這種情況我親身經歷過很多很多次。因此,關鍵是要計劃拋棄plan to throw out,這樣你才能適應接下來的情況。如果你夢想第一個產品就ok,那麼你就會有拋棄它們的風險,因爲產品的改進和發展是不可避免的。計劃拋棄也有助於通過設置合理的里程碑來達到進度目標

程序員一生必讀的書:《設計模式Design Patterns》

如果你打算成爲一名架構師或系統的設計人員,那麼你很有可能會被要求閱讀這本書。這是一本被譽爲有史以來最偉大的有關於軟件開發的書,詳細講述了許多不同的設計模式,這麼多年來一直在幫助軟件工程師避免和處理行業面臨的常見問題。遵照這本書的策略可以助你打造更高品質,靈活和可維護的軟件。傳說中的“四人幫”就是這本書,因爲它是由四個著名的作者共同編寫的。

程序員一生必讀的書:《編程珠璣(第二版)Programming Pearls (2nd Edition)》

這本書和這書單上的其他書籍略有不同。我想說這本書可以幫助一個人“像一個程序員一樣思考” 《編程珠璣(第二版)Programming Pearls (2nd Edition)》是先前發表在“Communications of the ACM(美國計算機學會通訊)”的15篇專欄的一個綱要。這些專欄涵蓋了廣泛與編程相關的主題:從需求收集到性能優化。重點關注編碼技術和算法。

每個專欄被組織爲一個章節。章節通常以一個實際問題的情景呈現開頭。然後,提出各種解決方案和相應的經驗教訓。寫作風格清晰明快。

《編程珠璣(第二版)Programming Pearls (2nd Edition)》不是教授新編程概念的尋常書籍。雖然它包含了優秀,有時甚至是相當新奇的想法,但這本書的目的不是教你一些新的東西,而是幫助你成爲一個更好的問題解決者。

程序員一生必讀的書:《編碼:隱匿在計算機軟硬件背後的語言CODE: The Hidden Language of Computer Hardware and Software》

這本書清理了創建和開發複雜系統的大量“魔法”。現在的抽象是如此之多,以致於一些低層次的細節反而不爲開發人員所知。雖然你可能不會發現自己在實踐中時刻使用着這本書——但我相信,知道自己正在構建什麼以及整個編排的工作原理是什麼,總歸是一個好主意。當你需要打開“黑匣子”,深入軟件或硬件來解決一個討厭的bug的時候,它就能派上用場了。Charles Petzold寫的《編碼:隱匿在計算機軟硬件背後的語言CODE: The Hidden Language of Computer Hardware and Software》梳理了許多編程概念——從數字系統的十進制,八進制,二進制到高級語言。這本書介紹了基於包的通信協議和TCP。許多章節講解了有關硬件的概念,有五個章節涉及到了軟件和教導操作系統,浮點運算和圖形用戶界面。

程序員一生必讀的書:《計算機程序設計藝術The Art of Computer Programming》

這又是一部經典之作。由著名的計算機科學家教授Donald Knuth編著,並得到行業內衆多頂尖程序員的一致好評。甚至連Bill Gates也對這本書讚譽有加:

“如果你認爲你是一個真正優秀的程序員……那麼就去讀[Knuth的]《計算機程序設計藝術The Artof Computer Programming》吧……如果你能讀懂整本書,那麼請一定要給我發簡歷。”

這本書以基本的編程概念和技術開頭,然後聚焦於更具體的信息結構——計算機內的信息表示,數據元素之間的結構關係,以及如何有效地處理這些問題。此外還提供了基本的應用程序給仿真模擬,數值方法,符號計算,軟件和系統設計。