十大計(jì)算機(jī)經(jīng)典書(shū)籍?
1. 《代碼大全》 史蒂夫·邁克康奈爾
推薦數(shù):1684“優(yōu)秀的編程實(shí)踐的百科全書(shū),《代碼大全》注重個(gè)人技術(shù),其中所有東西加起來(lái),就是我們本能所說(shuō)的“編寫(xiě)整潔的代碼”。這本書(shū)有50頁(yè)在談?wù)摯a布局。” —— Joel Spolsky對(duì)于新手來(lái)說(shuō),這本書(shū)中的觀念有點(diǎn)高階了。到你準(zhǔn)備閱讀此書(shū)時(shí),你應(yīng)該已經(jīng)知道并實(shí)踐過(guò)書(shū)中99%的觀念。– esac2. 《程序員修煉之道》推薦數(shù):1504對(duì)于那些已經(jīng)學(xué)習(xí)過(guò)編程機(jī)制的程序員來(lái)說(shuō),這是一本卓越的書(shū)。或許他們還是在校生,但對(duì)要自己做什么,還感覺(jué)不是很安全。就像草圖和架構(gòu)之間的差別。雖然你在學(xué)校課堂上學(xué)到的是畫(huà)圖,你也可以畫(huà)的很漂亮,但如果你覺(jué)得你不太知道從哪兒下手,如果某人要你獨(dú)自畫(huà)一個(gè)P2P的音樂(lè)交換網(wǎng)絡(luò)圖,那這本書(shū)就適合你了。—— Joel3. 《計(jì)算機(jī)程序的構(gòu)造和解釋》推薦數(shù):916就個(gè)人而言,這本書(shū)目前為止對(duì)我影響醉倒的一本編程書(shū)。《代碼大全》、《重構(gòu)》和《設(shè)計(jì)模式》這些經(jīng)典書(shū)會(huì)教給你高效的工作習(xí)慣和交易細(xì)節(jié)。其他像《人件集》、《計(jì)算機(jī)編程心理學(xué)》和《人月神話》這些書(shū)會(huì)深入軟件開(kāi)發(fā)的心理層面。其他書(shū)籍則處理算法。這些書(shū)都有自己所屬的位置。然而《計(jì)算機(jī)程序的構(gòu)造和解釋》與這些不同。這是一本會(huì)啟發(fā)你的書(shū),它會(huì)燃起你編寫(xiě)出色程序的熱情;它還將教會(huì)你認(rèn)識(shí)并欣賞美;它會(huì)讓你有種敬畏,讓你難以抑制地渴望學(xué)習(xí)更多的東西。其他書(shū)或許會(huì)讓你成為一位更出色的程序員,但此書(shū)將一定會(huì)讓你成為一名程序員。同時(shí),你將會(huì)學(xué)到其他東西,函數(shù)式編程(第三章)、惰性計(jì)算、元編程、虛擬機(jī)、解釋器和編譯器。一些人認(rèn)為此書(shū)不適合新手。個(gè)人認(rèn)為,雖然我并不完全認(rèn)同要有一些編程經(jīng)驗(yàn)才能讀此書(shū),但我還是一定推薦給初學(xué)者。畢竟這本書(shū)是寫(xiě)給著名的6.001,是麻省理工學(xué)院的入門編程課程。此書(shū)或許需要多做努力(尤其你在做練習(xí)的時(shí)候,你也應(yīng)當(dāng)如此),但這個(gè)價(jià)是對(duì)得起這本書(shū)的。你還不確信么?那就讀讀第一版的前言或序言。網(wǎng)上有免費(fèi)的電子版。 - Antti Syk?ri4. 《C程序設(shè)計(jì)語(yǔ)言》推薦數(shù):774這本書(shū)簡(jiǎn)潔易讀,會(huì)教給你三件事:C 編程語(yǔ)言;如何像程序員一樣思考;底層計(jì)算模型。(這對(duì)理解“底層”非常重要)—— Nathan5. 《算法導(dǎo)論》推薦數(shù):671《代碼大全》教你如何正確編程;《人月神話》教你如何正確管理;《設(shè)計(jì)模式》教你如何正確設(shè)計(jì)……在我看來(lái),代碼只是一個(gè)工具,并非精髓。開(kāi)發(fā)軟件的主要部分是創(chuàng)建新算法或重新實(shí)現(xiàn)現(xiàn)有算法。其他部分則像重新組裝樂(lè)高磚塊或創(chuàng)建“管理”層。我依然夢(mèng)想這樣的工作,我的大部分時(shí)間(>50%)是在寫(xiě)算法,其他“管理”細(xì)節(jié)則留給其他人…… —— Ran Biron6. 《重構(gòu):改善既有代碼的設(shè)計(jì)》推薦數(shù):617我想我不得不推薦《重構(gòu)》:改進(jìn)現(xiàn)有代碼的設(shè)計(jì)。—— Martin我必須承認(rèn),我最喜歡的編程語(yǔ)錄是出自這本書(shū):任何一個(gè)傻瓜都能寫(xiě)出計(jì)算機(jī)能理解的程序,而優(yōu)秀的程序員卻能寫(xiě)出別人能讀得懂的程序。—— Martin Fowler7. 《設(shè)計(jì)模式》推薦數(shù):617就我而言,我認(rèn)為四人幫編著的《設(shè)計(jì)模式》是一本極為有用的書(shū)。雖然此書(shū)并不像其他建議一樣有關(guān)“元”編程,但它強(qiáng)調(diào)封裝諸如模式一類的優(yōu)秀編程技術(shù),因而鼓勵(lì)其他人提出新模式和反模式(antipatterns),并運(yùn)用于編程對(duì)話中。—— Chris Jester-Young8. 《人月神話》推薦數(shù):5889. 《計(jì)算機(jī)程序設(shè)計(jì)藝術(shù)》推薦數(shù):542這是高德納傾注心血寫(xiě)的一本書(shū)。—— Peter Coulton10. 《編譯原理(中文版) |英文版》(龍書(shū))推薦數(shù):462我很奇怪,居然沒(méi)人提到龍書(shū)。(或許已有推薦,我沒(méi)有看到)。我從沒(méi)忘過(guò)此書(shū)的第一版封面。此書(shū)讓我知道了編譯器是多么地神奇絕妙。- DB11. 《深入淺出設(shè)計(jì)模式(中文版) |英文影印版》推薦數(shù):445我知道四人幫的《設(shè)計(jì)模式》是一本標(biāo)準(zhǔn)書(shū),但倒不如先看看這部大部頭,此書(shū)更為簡(jiǎn)易。一旦你了解了解了基本原則,可以去看四人幫的那本圣經(jīng)了。- Calanus12. 《哥德?tīng)枴釥枴秃諘?shū):集異璧之大成》推薦數(shù):437如果下昂真正深入閱讀,我推薦道格拉斯·侯世達(dá)(Douglas Hofstadter)的《哥德?tīng)枴釥枴秃諘?shū)》。他極為深入研究了程序員每日都要面對(duì)的問(wèn)題:遞歸、驗(yàn)證、證明和布爾代數(shù)。這是一本很出色的讀物,難度不大,偶爾有挑戰(zhàn),一旦你要鏖戰(zhàn)到底,將是非常值得的。 – Jonik