謝謝。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。! |
Good!!!!! |
“如果能時(shí)光倒流,回到過(guò)去,作為一個(gè)開(kāi)發(fā)人員,你可以告訴自己在職業(yè)生涯初期應該讀一本,你會(huì )選擇哪本書(shū)呢?我希望這個(gè)書(shū)單列表內容豐富,可以涵蓋很多東西! 很多程序員響應,他們在推薦時(shí)也寫(xiě)下自己的評語(yǔ)。以前就有國內網(wǎng)友介紹這個(gè)程序員書(shū)單,不過(guò)都是推薦數 Top 10的書(shū)。其實(shí)除了前10本之外,推薦數前30左右的書(shū)籍都算經(jīng)典,筆者整理編譯這個(gè)問(wèn)答貼,同時(shí)摘譯部分推薦人的評語(yǔ)。下面就按照各本書(shū)的推薦數排列。 1. 《代碼大全》 史蒂夫·邁克康奈爾 推薦數:1684 “優(yōu)秀的編程實(shí)踐的百科全書(shū),《代碼大全》注重個(gè)人技術(shù),其中所有東西加起來(lái),就是我們本能所說(shuō)的“編寫(xiě)整潔的代碼”。這本書(shū)有50頁(yè)在談?wù)摯a布局! —— Joel Spolsky 對于新手來(lái)說(shuō),這本書(shū)中的觀(guān)念有點(diǎn)高階了。到你準備閱讀此書(shū)時(shí),你應該已經(jīng)知道并實(shí)踐過(guò)書(shū)中99%的觀(guān)念。– esac 2. 《程序員修煉之道》 推薦數:1504 對于那些已經(jīng)學(xué)習過(guò)編程機制的程序員來(lái)說(shuō),這是一本卓越的書(shū);蛟S他們還是在校生,但對要自己做什么,還感覺(jué)不是很安全。就像草圖和架構之間的差別。雖然你在學(xué)校課堂上學(xué)到的是畫(huà)圖,你也可以畫(huà)的很漂亮,但如果你覺(jué)得你不太知道從哪兒下手,如果某人要你獨自畫(huà)一個(gè)P2P的音樂(lè )交換網(wǎng)絡(luò )圖,那這本書(shū)就適合你了! Joel 3. 《計算機程序的構造和解釋》 推薦數:916 就個(gè)人而言,這本書(shū)目前為止對我影響醉倒的一本編程書(shū)。 《代碼大全》、《重構》和《設計模式》這些經(jīng)典書(shū)會(huì )教給你高效的工作習慣和交易細節。其他像《人件集》、《計算機編程心理學(xué)》和《人月神話(huà)》這些書(shū)會(huì )深入軟件開(kāi)發(fā)的心理層面。其他書(shū)籍則處理算法。這些書(shū)都有自己所屬的位置。 然而《計算機程序的構造和解釋》與這些不同。這是一本會(huì )啟發(fā)你的書(shū),它會(huì )燃起你編寫(xiě)出色程序的熱情;它還將教會(huì )你認識并欣賞美;它會(huì )讓你有種敬畏,讓你難以抑制地渴望學(xué)習更多的東西。其他書(shū)或許會(huì )讓你成為一位更出色的程序員,但此書(shū)將一定會(huì )讓你成為一名程序員。 同時(shí),你將會(huì )學(xué)到其他東西,函數式編程(第三章)、惰性計算、元編程、虛擬機、解釋器和編譯器。 一些人認為此書(shū)不適合新手。個(gè)人認為,雖然我并不完全認同要有一些編程經(jīng)驗才能讀此書(shū),但我還是一定推薦給初學(xué)者。畢竟這本書(shū)是寫(xiě)給著(zhù)名的6.001,是麻省理工學(xué)院的入門(mén)編程課程。此書(shū)或許需要多做努力(尤其你在做練習的時(shí)候,你也應當如此),但這個(gè)價(jià)是對得起這本書(shū)的。 你還不確信么?那就讀讀第一版的前言或序言。網(wǎng)上有免費的電子版。 - Antti Sykäri 4. 《C程序設計語(yǔ)言》 推薦數:774 這本書(shū)簡(jiǎn)潔易讀,會(huì )教給你三件事:C 編程語(yǔ)言;如何像程序員一樣思考;底層計算模型。(這對理解“底層”非常重要)—— Nathan 5. 《算法導論》 推薦數:671 《代碼大全》教你如何正確編程;《人月神話(huà)》教你如何正確管理;《設計模式》教你如何正確設計…… 在我看來(lái),代碼只是一個(gè)工具,并非精髓。開(kāi)發(fā)軟件的主要部分是創(chuàng )建新算法或重新實(shí)現現有算法。其他部分則像重新組裝樂(lè )高磚塊或創(chuàng )建“管理”層。我依然夢(mèng)想這樣的工作,我的大部分時(shí)間(>50%)是在寫(xiě)算法,其他“管理”細節則留給其他人…… —— Ran Biron 6. 《重構:改善既有代碼的設計》 推薦數:617 我想我不得不推薦《重構》:改進(jìn)現有代碼的設計! Martin 我必須承認,我最喜歡的編程語(yǔ)錄是出自這本書(shū):任何一個(gè)傻瓜都能寫(xiě)出計算機能理解的程序,而優(yōu)秀的程序員卻能寫(xiě)出別人能讀得懂的程序! Martin Fowler 7. 《設計模式》 推薦數:617 就我而言,我認為四人幫編著(zhù)的《設計模式》是一本極為有用的書(shū)。雖然此書(shū)并不像其他建議一樣有關(guān)“元”編程,但它強調封裝諸如模式一類(lèi)的優(yōu)秀編程技術(shù),因而鼓勵其他人提出新模式和反模式(antipatterns),并運用于編程對話(huà)中! Chris Jester-Young 10. 《編譯原理》(龍書(shū)) 推薦數:462 我很奇怪,居然沒(méi)人提到龍書(shū)。(或許已有推薦,我沒(méi)有看到)。我從沒(méi)忘過(guò)此書(shū)的第一版封面。此書(shū)讓我知道了編譯器是多么地神奇絕妙。- DB 11. 《深入淺出設計模式》 推薦數:445 我知道四人幫的《設計模式》是一本標準書(shū),但倒不如先看看這部大部頭,此書(shū)更為簡(jiǎn)易。一旦你了解了解了基本原則,可以去看四人幫的那本圣經(jīng)了。- Calanus 12. 《哥德?tīng)、艾舍爾、巴赫?shū):集異璧之大成》 推薦數:437 如果下昂真正深入閱讀,我推薦道格拉斯·侯世達(Douglas Hofstadter)的《哥德?tīng)、艾舍爾、巴赫?shū)》。他極為深入研究了程序員每日都要面對的問(wèn)題:遞歸、驗證、證明和布爾代數。這是一本很出色的讀物,難度不大,偶爾有挑戰,一旦你要鏖戰到底,將是非常值得的。 – Jonik 14. 《Effective C++》和《More Effective C++》 推薦數:297 在我職業(yè)生涯早期,Scott Meyer的《Effective C++》和后續的《More Effective C++》都對我的編程能力有著(zhù)直接影響。正如當時(shí)的一位朋友所說(shuō),這些書(shū)縮短你培養編程技能的過(guò)程,而其他人可能要花費數年。 去年對我影響最大的一本書(shū)是《大教堂與市集》,該書(shū)教會(huì )我很有關(guān)開(kāi)源開(kāi)發(fā)過(guò)程如何運作,和如何處理我代碼中的Bug。 – John Channing 16. 《修改代碼的藝術(shù)》by Michael Feathers 我認為沒(méi)有任何一本書(shū)能向這本書(shū)一樣影響了我的編程觀(guān)點(diǎn)。它明確地告訴你如何處理其他人的代碼,含蓄地教會(huì )你避免哪些(以及為什么要避免)。- Wolfbyte 同意。很多開(kāi)發(fā)人員討論用干凈的石板來(lái)編寫(xiě)軟件。但我想幾乎所有開(kāi)發(fā)人員的某些時(shí)候是在吃其他開(kāi)發(fā)人員的狗食。– Bernard Dy 17. 《編碼:隱匿在計算機軟硬件背后的語(yǔ)言》 我推薦Charles Petzold的《編碼》。在這個(gè)充滿(mǎn)工具和IDE的年代,很多復雜度已經(jīng)從程序員那“抽取”走了,這本書(shū)一本開(kāi)眼之作。 – hemil 18. 《禪與摩托車(chē)維修藝術(shù) / Zen and the Art of Motorcycle Maintenance》 對我影響最大的那本書(shū)是 Robert Pirsig 的《禪與摩托車(chē)維修藝術(shù)》。不管你做什么事,總是要力求完美,徹底了解你手中的工具和任務(wù),更為重要的是,要有樂(lè )趣(因為如果你做事有樂(lè )趣,一切將自發(fā)引向更好的結果)。 – akr 。ň幾ⅲ宏P(guān)于這本書(shū),也可以看看阮一峰的讀后感。) 19. 《Peopleware/人件集:人性化的軟件開(kāi)發(fā)》 Demarco 和 Lister 表明,軟件開(kāi)發(fā)中的首要問(wèn)題是人,并非技術(shù)。他們的答案并不簡(jiǎn)單,只是令人難以置信的成功。第二版新增加了八章內容。 – Eduardo Molteni 20. 《Coders at Work /編程人生》 一本非常有影響力的書(shū),可以從中學(xué)到一些業(yè)界頂級人士的經(jīng)驗,了解他們如何思考并工作。 – Jahanzeb Farooq 21. 《Surely You’re Joking, Mr. Feynman! /別鬧了,費曼先生!》 雖然這本書(shū)可能有點(diǎn)偏題,但不管你信不信,這本書(shū)曾在計算機科學(xué)專(zhuān)業(yè)課程的閱讀列表之上。一個(gè)優(yōu)秀的角色模型,一本有關(guān)好奇心的優(yōu)秀書(shū)籍。 – mike511 22. 《Effective Java中文版》 此書(shū)第二版教你如何編寫(xiě)漂亮并高效的代碼,雖然這是一本Java書(shū),但其中有很多跨語(yǔ)言的理念。 – Marcio Aguiar 23. 《Patterns of Enterprise Application Architecture /企業(yè)應用架構模式》 很奇怪,還沒(méi)人推薦 Martin Fowler 的《企業(yè)應用架構模式》- levi rosol 24. 《The Little Schemer》和《The Seasoned Schemer》 nmiranda 這兩本是LISP的英文書(shū),尚無(wú)中文版。美國東北大學(xué)網(wǎng)站上也有電子版。 25. 《交互設計之路》英文名:《The Inmates Are Running The Asylum: Why High Tech Products Drive Us Crazy and How to Restore the Sanity》該書(shū)作者:Alan Cooper,人稱(chēng)Visual Basic之父,交互設計之父。 本書(shū)是基于眾多商務(wù)案例,講述如何創(chuàng )建更好的、高客戶(hù)忠誠度的軟件產(chǎn)品和基于軟件的高科技產(chǎn)品的書(shū)。本書(shū)列舉了很多真實(shí)可信的實(shí)際例子,說(shuō)明目前在軟件產(chǎn)品和基于軟件的高科技產(chǎn)品中,普遍存在著(zhù)“難用”的問(wèn)題。作者認為,“難用”問(wèn)題是由這些產(chǎn)品中存在著(zhù)的高度“認知摩擦”引起的,而產(chǎn)生這個(gè)問(wèn)題的根源在于現今軟件開(kāi)發(fā)過(guò)程中欠缺了一個(gè)為用戶(hù)利益著(zhù)想的前期“交互設計”階段!半y用”的產(chǎn)品不僅損害了用戶(hù)的利益,最終也將導致企業(yè)的失敗。本書(shū)通過(guò)一些生動(dòng)的實(shí)例,讓人信服地講述了由作者倡導的“目標導向”交互設計方法在解決“難用”問(wèn)題方面的有效性,證實(shí)了只有改變現有觀(guān)念,才能有效地在開(kāi)發(fā)過(guò)程中引入交互設計,將產(chǎn)品的設計引向成功。 本書(shū)雖然是一本面向商務(wù)人員而編寫(xiě)的書(shū),但也適合于所有參與軟件產(chǎn)品和基于軟件的高科技產(chǎn)品開(kāi)發(fā)的專(zhuān)業(yè)人士,以及關(guān)心軟件行業(yè)和高科技行業(yè)現狀與發(fā)展的人士閱讀。 他還有另一本中文版著(zhù)作:《About Face 3 交互設計精髓》 26. 《Why’s (Poignant) Guide to Ruby》 如果你不是程序員,閱讀此書(shū)可能會(huì )很有趣,但如果你已經(jīng)是個(gè)程序員,可能會(huì )有點(diǎn)乏味。 27. 《Unix編程藝術(shù)》 It is useful regardless operating system you use. – J.F. Sebastian 不管你使用什么操作系統,這本書(shū)都很有用。 – J.F. Sebastian 28. 《Practices of an Agile Developer /高效程序員的45個(gè)習慣:敏捷開(kāi)發(fā)修煉之道》 45個(gè)習慣,分為7個(gè)方面:工作態(tài)度、學(xué)習、軟件交付、反饋、編碼、調試和協(xié)作。 每一個(gè)具體的習慣里,一開(kāi)始提出一個(gè)謬論,然后展開(kāi)分析,之后有正隊性地提出正確的做法,并設身處地地講出了正確做法給你個(gè)人的“切身感受”,最后列出幾條注意事項,幫助你修正自己的做法(“平衡的藝術(shù)”)。 29. 《Test-Driven Development by Example. /測試驅動(dòng)開(kāi)發(fā)》 前面已經(jīng)提到的很多書(shū)都啟發(fā)了我,并影響了我,但這本書(shū)每位程序員都應該讀。它向我展示了單元測試和TDD的重要性,并讓我很快上手。 – Curro 我不關(guān)心你的代碼有多好或優(yōu)雅。如果你沒(méi)有測試,你或許就如同沒(méi)有編寫(xiě)代碼。這本書(shū)得到的推薦數應該更高些。人們討論編寫(xiě)用戶(hù)喜歡的軟件,或既設計出色并健壯的高效代碼,但如果你的軟件有一堆bug,談?wù)撃切〇|西毫無(wú)意義。– Adam Gent 30. 《Don’t Make Me Think /點(diǎn)石成金:訪(fǎng)客至上的網(wǎng)頁(yè)設計秘笈》 取決于你所追求的目標。我喜歡《代碼大全》是因純編程,《點(diǎn)石成金》是一本有關(guān)UI設計的卓越書(shū)籍。 – Justin Standard 后語(yǔ) 除這個(gè)書(shū)單之外,曾經(jīng)也有微博網(wǎng)友推薦《一些經(jīng)典的計算機書(shū)籍》,大約在50本。 |
樓主太強大了,整了這么多書(shū),大全啊,崇拜中。。。 |
lz,請接受我的五體投地! |
真的不夠啊,積分,5555555 |
樓主太強大了!支持 |
哇,太強了, |
很全的計算機專(zhuān)業(yè)書(shū)籍,不錯,支持一下! |
原來(lái)還需要積分啊。 |
積分不夠 |
內容太多了。 |
看看。。。。。。。。。 |
這得多少積分啊? |
不一般。 |
確實(shí)不一般。 |
thanks |
ths |
這么多?耥敯。。。。。。。。。。 |