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