我這一輩子彬犯,從不知道哪位智者是根本不讀書的——沒(méi)有,沒(méi)有一個(gè)人查吊。
-- <cite>投資大師芒格</cite>
前言
自從開(kāi)始自學(xué)編程以來(lái)谐区,就一直希望有人指點(diǎn)該如何逐步的打牢基礎(chǔ),該讀哪些書籍來(lái)加深對(duì)計(jì)算機(jī)科學(xué)的理解逻卖。最近宋列,我在網(wǎng)上看到有人整理了一些知名程序員推薦的書籍,他們或是接受采訪评也,或是在自己的博客上炼杖,向大家推薦了自己認(rèn)為最有價(jià)值的編程書籍灭返。覺(jué)得應(yīng)該都是不錯(cuò)的選擇,所以翻譯過(guò)來(lái)與大家分享坤邪。
為什么要讀書熙含?
當(dāng)今,我們時(shí)刻被筆記本電腦和iPhone包圍艇纺,導(dǎo)致忽視了人類歷史上最重要的技術(shù)之一:默默無(wú)聞的書籍怎静。我不確定是不是我的圈子太小,但是我的程序員朋友中黔衡,平常讀書的人確實(shí)很少蚓聘。恕我直言,真是有點(diǎn)暴殄天物盟劫,因?yàn)闀刑峁┝俗屇愦蠓嵘寄艿碾y得機(jī)會(huì)夜牡。
如果有人問(wèn)你,“你是否愿意付5000美元侣签,請(qǐng)世界上一名最偉大的程序員當(dāng)你三個(gè)月的導(dǎo)師氯材?”你會(huì)怎么回答?很可能是“那太好啦硝岗!”氢哮。但是如果給你同樣的選擇,只是這次變成支付50美元型檀,但是你必須讀書冗尤,你還會(huì)愿意嗎?
閱讀一本偉大的書籍胀溺,就像被一位偉大的導(dǎo)師呵護(hù)教導(dǎo)一樣裂七。許多擁有豐富經(jīng)驗(yàn)的偉大程序員,選擇將他們的智慧凝聚到書本這種盡管不太防水仓坞,但是可攜帶性強(qiáng)的載體中背零,就是為了給你提供閱讀的樂(lè)趣。你為什么不好好享用這場(chǎng)匯聚集體知識(shí)的盛筵呢无埃?
下面是這個(gè)領(lǐng)域中一些頂級(jí)程序員的建議徙瓶。請(qǐng)注意,其中一些書籍被反復(fù)提及嫉称。已添加購(gòu)買鏈接侦镇。
Joel Spolsky
Joel Spolsky畢業(yè)于耶魯大學(xué)計(jì)算機(jī)系,目前是Fog Creek軟件公司的CEO织阅。他的網(wǎng)絡(luò)日志"Joel談軟件"(Joel on Software)非常有名壳繁,讀者人數(shù)可以排進(jìn)全世界前100名。
他向大家推薦5本書,分別是:
-
Peopleware: Productive Projects and Teams
(人件) -
Rapid Development: Taming Wild Software Schedules
(好像還沒(méi)有中文版) -
Code Complete: A Practical Handbook of Software Construction
, 2nd Edition(代碼大全2) -
The Pragmatic Programmer: From Journeyman to Master
(程序員修煉之道:從小工到專家) -
The Mythical Man-Month: Essays on Software Engineering
(人月神話)
Steve Yegge
Steve Yegge是Amazon的前員工闹炉,目前在Google工作蒿赢,是《程序員的吶喊》一書的作者。
他推薦下面這些書:
-
The Pragmatic Programmer: From Journeyman to Master
(程序員修煉之道:從小工到專家) -
Refactoring: Improving the Design of Existing Code
(重構(gòu):改善既有代碼的設(shè)計(jì)) -
Design Patterns: Elements of Reusable Object-Oriented Software
(設(shè)計(jì)模式:可復(fù)用面向?qū)ο筌浖幕A(chǔ)) -
Concurrent Programming in Java: Design Principles and Patterns
(好像沒(méi)有中文版) -
Mastering Regular Expressions
(精通正則表達(dá)式(第3版)) -
The Algorithm Design Manual
(算法設(shè)計(jì)手冊(cè)(第2版)) -
The C Programming Language
(C程序設(shè)計(jì)語(yǔ)言) -
The Little Schemer
(關(guān)于Lisp語(yǔ)言的書渣触,沒(méi)有中文版) -
Compilers: Principles, Techniques, and Tools
(編譯原理)
Scott Hanselman
知名黑客羡棵。每年都會(huì)在自己的博客上,整理推薦Windows平臺(tái)的軟件昵观,博文很受人們推崇晾腔。他還運(yùn)營(yíng)著一個(gè)自己的播客舌稀。
他推薦了這些書:
-
Code Complete: A Practical Handbook of Software Construction
, 2nd Edition(代碼大全2) -
The Pragmatic Programmer: From Journeyman to Master
(程序員修煉之道:從小工到專家) -
Programming Pearls
(編程珠璣) -
Refactoring: Improving the Design of Existing Code
(重構(gòu):改善既有代碼的設(shè)計(jì)) -
The Design of the UNIX Operating System
(UNIX操作系統(tǒng)設(shè)計(jì)) -
Design Patterns: Elements of Reusable Object-Oriented Software
(設(shè)計(jì)模式:可復(fù)用面向?qū)ο筌浖幕A(chǔ))
Stack Overflow問(wèn)答社區(qū)上的推薦
-
Code Complete: A Practical Handbook of Software Construction
, 2nd Edition(代碼大全2) -
The Pragmatic Programmer: From Journeyman to Master
(程序員修煉之道:從小工到專家) -
Structure and Interpretation of Computer Programs
(計(jì)算機(jī)程序的構(gòu)造和解釋) -
The C Programming Language
(C程序設(shè)計(jì)語(yǔ)言) -
Introduction to Algorithms
(算法導(dǎo)論) -
Design Patterns: Elements of Reusable Object-Oriented Software
(設(shè)計(jì)模式:可復(fù)用面向?qū)ο筌浖幕A(chǔ)) -
Refactoring: Improving the Design of Existing Code
(重構(gòu):改善既有代碼的設(shè)計(jì)) -
The Mythical Man-Month: Essays on Software Engineering
(人月神話)
你會(huì)購(gòu)買哪位導(dǎo)師的書呢啊犬?
顯然,光讀書不會(huì)讓你成為大師級(jí)程序員壁查。要提升技能觉至,你需要的是練習(xí),并且是大量的練習(xí)睡腿。但是语御,書籍仍是學(xué)習(xí)“你不知道你不知道的內(nèi)容”的最好方式之一。
或許可以考慮下面這個(gè)福利席怪?
上面推薦的書籍中应闯,很多都是有PDF版的。但是似乎不適合在簡(jiǎn)書上直接放這樣的鏈接挂捻,有需要的朋友請(qǐng)看原文碉纺。
原文鏈接:編程派