程序員一生必讀的書籍推薦
程序員一生必讀的書籍推薦
要成為一個(gè)更好的程序人員,我應(yīng)該讀哪些書?下面是由學(xué)習(xí)啦小編給大家?guī)黻P(guān)于程序員一生必讀的書籍推薦,希望對(duì)大家有幫助!
程序員一生必讀的書籍推薦
程序員一生必讀的書:《修改代碼的藝術(shù)Working Effectively with Legacy Code》
我之所以喜歡這本書,是因?yàn)閹缀跛械能浖_發(fā)人員,在其職業(yè)生涯的某個(gè)時(shí)刻,往往會(huì)不得不支持和工作于遺留系統(tǒng)。在這本書中,Michael Feathers提供了從開始到結(jié)束的策略,以便于更有效地工作于未經(jīng)測(cè)試的遺留代碼庫。本書借鑒了Michael為其著名的Object Mentor專題研討會(huì)創(chuàng)作的材料:Michael用于指導(dǎo)的技術(shù),以幫助開發(fā)人員,技術(shù)管理人員和測(cè)試人員掌控遺留系統(tǒng)。
程序員一生必讀的書:《人月神話The Mythical Man-Month》
本書是一本經(jīng)典之作,但最近被修改和更正了。令人驚奇的是這本書仍然與軟件產(chǎn)品開發(fā)密切相關(guān)。如果你從事軟件的話,這本書是必讀的。這本書最有價(jià)值的部分,我相信,是“計(jì)劃拋棄plan to throw out”原型章節(jié)。盡管我們的目標(biāo)通常是做一個(gè)更大,更好,更快,不管它是什么的東西,但是我們總會(huì)構(gòu)建出一些不得不被廢棄,需要重做的東西。這種情況我親身經(jīng)歷過很多很多次。因此,關(guān)鍵是要計(jì)劃拋棄plan to throw out,這樣你才能適應(yīng)接下來的情況。如果你夢(mèng)想第一個(gè)產(chǎn)品就ok,那么你就會(huì)有拋棄它們的風(fēng)險(xiǎn),因?yàn)楫a(chǎn)品的改進(jìn)和發(fā)展是不可避免的。計(jì)劃拋棄也有助于通過設(shè)置合理的里程碑來達(dá)到進(jìn)度目標(biāo)
程序員一生必讀的書:《設(shè)計(jì)模式Design Patterns》
如果你打算成為一名架構(gòu)師或系統(tǒng)的設(shè)計(jì)人員,那么你很有可能會(huì)被要求閱讀這本書。這是一本被譽(yù)為有史以來最偉大的有關(guān)于軟件開發(fā)的書,詳細(xì)講述了許多不同的設(shè)計(jì)模式,這么多年來一直在幫助軟件工程師避免和處理行業(yè)面臨的常見問題。遵照這本書的策略可以助你打造更高品質(zhì),靈活和可維護(hù)的軟件。傳說中的“_”就是這本書,因?yàn)樗怯伤膫€(gè)著名的作者共同編寫的。
程序員一生必讀的書:《編程珠璣(第二版)Programming Pearls (2nd Edition)》
這本書和這書單上的其他書籍略有不同。我想說這本書可以幫助一個(gè)人“像一個(gè)程序員一樣思考” 《編程珠璣(第二版)Programming Pearls (2nd Edition)》是先前發(fā)表在“Communications of the ACM(美國(guó)計(jì)算機(jī)學(xué)會(huì)通訊)”的15篇專欄的一個(gè)綱要。這些專欄涵蓋了廣泛與編程相關(guān)的主題:從需求收集到性能優(yōu)化。重點(diǎn)關(guān)注編碼技術(shù)和算法。
每個(gè)專欄被組織為一個(gè)章節(jié)。章節(jié)通常以一個(gè)實(shí)際問題的情景呈現(xiàn)開頭。然后,提出各種解決方案和相應(yīng)的經(jīng)驗(yàn)教訓(xùn)。寫作風(fēng)格清晰明快。
《編程珠璣(第二版)Programming Pearls (2nd Edition)》不是教授新編程概念的尋常書籍。雖然它包含了優(yōu)秀,有時(shí)甚至是相當(dāng)新奇的想法,但這本書的目的不是教你一些新的東西,而是幫助你成為一個(gè)更好的問題解決者。
程序員一生必讀的書:《編碼:隱匿在計(jì)算機(jī)軟硬件背后的語言CODE: The Hidden Language of Computer Hardware and Software》
這本書清理了創(chuàng)建和開發(fā)復(fù)雜系統(tǒng)的大量“魔法”。現(xiàn)在的抽象是如此之多,以致于一些低層次的細(xì)節(jié)反而不為開發(fā)人員所知。雖然你可能不會(huì)發(fā)現(xiàn)自己在實(shí)踐中時(shí)刻使用著這本書——但我相信,知道自己正在構(gòu)建什么以及整個(gè)編排的工作原理是什么,總歸是一個(gè)好主意。當(dāng)你需要打開“黑匣子”,深入軟件或硬件來解決一個(gè)討厭的bug的時(shí)候,它就能派上用場(chǎng)了。Charles Petzold寫的《編碼:隱匿在計(jì)算機(jī)軟硬件背后的語言CODE: The Hidden Language of Computer Hardware and Software》梳理了許多編程概念——從數(shù)字系統(tǒng)的十進(jìn)制,八進(jìn)制,二進(jìn)制到高級(jí)語言。這本書介紹了基于包的通信協(xié)議和TCP。許多章節(jié)講解了有關(guān)硬件的概念,有五個(gè)章節(jié)涉及到了軟件和教導(dǎo)操作系統(tǒng),浮點(diǎn)運(yùn)算和圖形用戶界面。
程序員一生必讀的書:《計(jì)算機(jī)程序設(shè)計(jì)藝術(shù)The Art of Computer Programming》
這又是一部經(jīng)典之作。由著名的計(jì)算機(jī)科學(xué)家教授Donald Knuth編著,并得到行業(yè)內(nèi)眾多頂尖程序員的一致好評(píng)。甚至連Bill Gates也對(duì)這本書贊譽(yù)有加:
“如果你認(rèn)為你是一個(gè)真正優(yōu)秀的程序員……那么就去讀[Knuth的]《計(jì)算機(jī)程序設(shè)計(jì)藝術(shù)The Artof Computer Programming》吧……如果你能讀懂整本書,那么請(qǐng)一定要給我發(fā)簡(jiǎn)歷。”
這本書以基本的編程概念和技術(shù)開頭,然后聚焦于更具體的信息結(jié)構(gòu)——計(jì)算機(jī)內(nèi)的信息表示,數(shù)據(jù)元素之間的結(jié)構(gòu)關(guān)系,以及如何有效地處理這些問題。此外還提供了基本的應(yīng)用程序給仿真模擬,數(shù)值方法,符號(hào)計(jì)算,軟件和系統(tǒng)設(shè)計(jì)。
猜你喜歡:
2.清華推薦必讀書目