黑客書架上出現(xiàn)頻率最高的9部半書籍
每一位黑客都需要一個堅實的圖書館來尋找靈感以及查找參考資料。這兒的列表能給你一些你想要的東西,里面既有計算機科學(xué)的頂級大學(xué)教材,也有對業(yè)界的真知灼見,還有你不可或缺的參考書籍。它囊括了黑客的經(jīng)典著作。
人月神話:軟件工程評述-周年版
Fredrick P. Brooks著
這本論述軟件工程中人的因素的經(jīng)典著作出版于1975年。這些年來,技術(shù)已經(jīng)發(fā)生了很大的變化,但是人的因素還是和原來一樣讓人頭痛。這是一本有深刻洞察力的書籍,也是一本在業(yè)界非常著名,常常被引用的書籍。《人月神話》概括了許多在大中型項目中經(jīng)常遇到的,也是非常致命的問題。它提出了2條著名的準(zhǔn)則:
?人月神話:向一個已經(jīng)延后的項目中投入更多的人力資源只會讓它更延后
?沒有銀彈:沒有一種策略,技術(shù)或者技巧可以極大地提高程序員的生產(chǎn)力
我不僅向程序員推薦這本書,也想任何一個項目管理人員推薦這本書。項目經(jīng)理和程序員都會喜歡布魯克斯清楚而明晰的觀點。
C 程序設(shè)計語言(第二版)
這是一本權(quán)威的C語言參考書籍,人們通常叫它K&R。它無比精煉,同時也能恰到好處地給初學(xué)者提供足夠的信息。K&R提供的信息剛好是你需要的,不多也不少。274頁的篇幅是你說能發(fā)現(xiàn)的參考書中最緊湊的。我敢說Java的作者是很難寫出如此簡明扼要的著作。
這本書適合任意一個學(xué)習(xí)C語言或者想尋找C語言參考書的人。K&R也是任何一位想撰寫語言參考或者技術(shù)著作的人必讀的書目。
如果你沒有任何的編程經(jīng)驗,K&R不太適合做為起點。但是如果你足夠有沖勁的話,它還是能讓你學(xué)到不少東西。初學(xué)者需要去買一本答案,它提供了所有練習(xí)的詳細(xì)解釋。
計算機程序設(shè)計與解釋 (第二版)
Harlod Abelson和Gerald Jay Sussman著
SICP是一本被很多頂級高校,諸如加州大學(xué)伯克利分校,麻省理工學(xué)院等,使用的入門書籍。它用Scheme語言介紹了許多強大的范例,比如遞歸,lamda表達(dá)式,抽象以及解釋性語言。
我發(fā)現(xiàn)這本書做為入門教材是難以想象的厚重。我工作了幾年并且對這些東西有了更深的了解以后,再來重新讀這本書,仍然學(xué)到了很多東西。
如果你在課堂上沒用到這本書,我推薦你把它找來仔細(xì)看看自己遺漏了什么,特別是你沒用使用過LISP這樣的語言的話。
代碼大全2:軟件架構(gòu)的實用手冊
Steve McConnell著
《代碼大全2》是一本在軟件架構(gòu)方面得到高度評價的書。McConnell在書中定義了主要的編程和調(diào)試的架構(gòu),也闡述了一些架構(gòu)設(shè)計,詳細(xì)設(shè)計,單元測試,整合和整合測試的內(nèi)容。
這本書的主要目的是讓你寫出更好的代碼。McConnell涉及了包括管理軟件復(fù)雜度,重構(gòu),代碼風(fēng)格和寫出優(yōu)美的注釋等方方面面的內(nèi)容。
這本書推薦給任何一個想寫出健壯的代碼的人。當(dāng)你學(xué)習(xí)到了良好的代碼實踐,那么你就會節(jié)約很多起步的時間;同時,它對于有多年經(jīng)驗的程序員也能幫助他們改變自己不好的開發(fā)習(xí)慣。
算法簡介
Thomas H. Cormen,Charles E. Leiserson,Ronald L. Rivest 和 Clifford Stein著
這是另外一本教材。《算法簡介》也許是大學(xué)中使用的最多的算法教材。它同時也是一本非常好的參考書。
盡管在實際情況中大部分程序員在生產(chǎn)環(huán)境中都不會自己去寫諸如快速排序這樣的算法實現(xiàn),但是算法知識是了解你所應(yīng)用的庫以及你自己代碼實際效率的基礎(chǔ)。
《算法簡介》被推薦給任何一個想完善自己算法技巧的開發(fā)人員,它也被推薦給那些對NP完備性,隨機算法,快速傅立葉變換等課題感興趣的人。閱讀這本書也需要良好的數(shù)學(xué)知識。
設(shè)計模式:可復(fù)用的面向?qū)ο筌浖脑瓌t
Erich Gamma,Richard Helm,Ralph Johnson和John M. Vlissides著
這本書闡述了各種面向?qū)ο蟮脑O(shè)計模式。對于書中23種模式的每一種,作者都給出了深度分析,這些分析包括清晰的示例,常見的缺陷,相關(guān)的模式,用C++或者SmallTalk寫的示例代碼。這些模式涵蓋了單件模式,觀察者模式,模板方法模式,迭代器模式和代理模式。
這本書對于使用面向?qū)ο笳Z言的中級或者高級開發(fā)者是必讀書目。剛剛進(jìn)入面向?qū)ο箝_發(fā)的開發(fā)人員最好在掌握了面向?qū)ο笳Z言以及在非實驗性項目中深入實踐以后再來學(xué)習(xí)里面的模式。否者你學(xué)到的東西不可能是很牢靠的。
編程珍珠 (第二版)
Jon Bentley著
這本書在學(xué)習(xí)解決問題的技巧方面非常突出。15章的每一個章節(jié)都對應(yīng)著一個任務(wù),例如排序電話號碼,創(chuàng)建回文詞或者搜索文本。Bentley先定義問題,然后再提出不同的解決方案,提供了討論和對每個解決方案清晰的分析,最后再給出了編程的基本原則。
《編程珍珠》包含了一些非常聰明的主意,它們可以用來做為解決一些小問題的時候做為參考。但是這本書更有用的地方是如何從工程師的角度解決問題。
我把這本書推薦給每一位享受編程工作的人。
編譯器:原則,技術(shù)和工具
Alfred V. Aho, Ravi Sethi 和Jeffrey D. Ullman著
《編譯器:原則,技術(shù)和工具》通常被叫做“龍書”(封面上有一條紅色的龍)。它是編譯原理課堂上的標(biāo)準(zhǔn)圖書。它涵蓋了你想知道的編譯器的各方面:文法,分析器,詞法分析,語法,中間語言的產(chǎn)生,運行時環(huán)境,優(yōu)化等等。如果你對這些東西還沒有足夠的了解的話,那么你就要準(zhǔn)備去學(xué)習(xí)一些新的術(shù)語和概念,比如確定性有限自動機,有限狀態(tài)自動機,LR剖析器等等。
我很喜歡龍書的各部分并且對里面的數(shù)學(xué)概念和理論很感興趣(它們貫穿了整本書)。如果你很喜歡正則表達(dá)式和狀態(tài)機,那么你會很喜歡這本書。另外一方面,如果你想知道一些現(xiàn)代編譯器的實現(xiàn)原理,你可能無法在里面找到你所需要的東西。龍書是1986年出版的,不能涵蓋這些現(xiàn)代的話題。
Unix強大工具 第三版
Shelley Powers,Jerry Peek,Tim O' Reilly和Mike Loukides著
這本書是O'Reilly出版社出版的很多偉大著作中的一本。《Unix強大工具》達(dá)到了1200頁,完全描述了Unix下面命令行工具,用法,腳本語法示例。
《Unix強大工具》是一本組織的非常好的參考書。如果你依次讀下去,你會發(fā)現(xiàn)自己會變成讓人驚訝的計算機癮君子典型代表。
這本書里面大部分內(nèi)容都可以在Google上面搜索到,但是有時候我們也需要這樣一本很好的參考書。
這本書是為數(shù)不多的適合于初學(xué)者和專家的書籍之一。不管是Unix新手還是有多年經(jīng)驗的系統(tǒng)管理員都能從這本書獲益。
便車旅行者指南終極收藏版:5部完整的小說和一個故事
Douglas Adams著
這不是一本技術(shù)書籍。但是如果你沒讀過這部便車旅行者三部曲,你就不可能摘掉計算機癮君子的帽子。它其實包含了5本書,《銀河便車指南》,《宇宙盡頭的旅館》,《生活,宇宙和一切》,《再見,謝謝那些魚》,《大部無害》,再加上一篇短篇小說《小柴法德謹(jǐn)慎行事》
在發(fā)現(xiàn)對生活,宇宙和一切的答案中找到愉悅。學(xué)習(xí)如何制作Pan Galactic Gargle Blaster(這應(yīng)該是一種飲料,但是不知道怎么翻譯。出處在這兒:http://ywsl.com/bbs/bbsshow.aspx?id=42780
The Hitch Hiker's Guide to the Galaxy also mentions alcohol. It says that the best drink in existence is the Pan Galactic Gargle Blaster.It says that the effect of a Pan Galactic Gargle Blaster is like having your brains smashed out by a slice of lemon wrapped round a large gold brick.
),而這一切都是毫不痛苦的。
這個版本有漂亮的黑色皮革封面,還有絲帶書簽。閱讀的時候就好像在讀一本很好的圣經(jīng),而且還更可信。(我要在某些喜歡爭辯的人發(fā)現(xiàn)我之前收回我的話,這只是一個玩笑而已啦)
http://topic.csdn.net/u/20080912/10/2483f669-955f-40f5-a90c-2e1de999c9cf.html


