程序員,軟件開發,軟件教育,人員9本重要的軟件相關書籍

 每一位黑客都需要一個堅實的圖書館來尋找靈感以及查找參考資料。這兒的列表能給你一些你想要的東西,裏面既有計算機科學的頂級大學教材,也有對業界的真知灼見,還有你不可或缺的參考書籍。它囊括了黑客的經典著作。 

人月神話:軟件工程評述-週年版 

Fredrick P. Brooks著 

這本論述軟件工程中人的因素的經典著作出版於1975年。這些年來,技術已經發生了很大的變化,但是人的因素還是和原來一樣讓人頭痛。這是一本有深刻洞察力的書籍,也是一本在業界非常著名,常常被引用的書籍。《人月神話》概括了許多在大中型項目中經常遇到的,也是非常致命的問題。它提出了2條著名的準則: 

?人月神話:向一個已經延後的項目中投入更多的人力資源只會讓它更延後 
?沒有銀彈:沒有一種策略,技術或者技巧可以極大地提高程序員的生產力 
我不僅向程序員推薦這本書,也想任何一個項目管理人員推薦這本書。項目經理和程序員都會喜歡布魯克斯清楚而明晰的觀點。 

C 程序設計語言(第二版) 


這是一本權威的C語言參考書籍,人們通常叫它K&R。它無比精煉,同時也能恰到好處地給初學者提供足夠的信息。K&R提供的信息剛好是你需要的,不多也不少。274頁的篇幅是你說能發現的參考書中最緊湊的。我敢說Java的作者是很難寫出如此簡明扼要的著作。 

這本書適合任意一個學習C語言或者想尋找C語言參考書的人。K&R也是任何一位想撰寫語言參考或者技術著作的人必讀的書目。 

如果你沒有任何的編程經驗,K&R不太適合做爲起點。但是如果你足夠有衝勁的話,它還是能讓你學到不少東西。初學者需要去買一本答案,它提供了所有練習的詳細解釋。 

計算機程序設計與解釋 (第二版) 

Harlod Abelson和Gerald Jay Sussman著 

SICP是一本被很多頂級高校,諸如加州大學伯克利分校,麻省理工學院等,使用的入門書籍。它用Scheme語言介紹了許多強大的範例,比如遞歸,lamda表達式,抽象以及解釋性語言。 

我發現這本書做爲入門教材是難以想象的厚重。我工作了幾年並且對這些東西有了更深的瞭解以後,再來重新讀這本書,仍然學到了很多東西。 

如果你在課堂上沒用到這本書,我推薦你把它找來仔細看看自己遺漏了什麼,特別是你沒用使用過LISP這樣的語言的話。 

代碼大全2:軟件架構的實用手冊 

Steve McConnell著 

《代碼大全2》是一本在軟件架構方面得到高度評價的書。McConnell在書中定義了主要的編程和調試的架構,也闡述了一些架構設計,詳細設計,單元測試,整合和整合測試的內容。 

這本書的主要目的是讓你寫出更好的代碼。McConnell涉及了包括管理軟件複雜度,重構,代碼風格和寫出優美的註釋等方方面面的內容。 

這本書推薦給任何一個想寫出健壯的代碼的人。當你學習到了良好的代碼實踐,那麼你就會節約很多起步的時間;同時,它對於有多年經驗的程序員也能幫助他們改變自己不好的開發習慣。 

算法簡介 

Thomas H. Cormen,Charles E. Leiserson,Ronald L. Rivest 和 Clifford Stein著 

這是另外一本教材。《算法簡介》也許是大學中使用的最多的算法教材。它同時也是一本非常好的參考書。 

儘管在實際情況中大部分程序員在生產環境中都不會自己去寫諸如快速排序這樣的算法實現,但是算法知識是瞭解你所應用的庫以及你自己代碼實際效率的基礎。 

《算法簡介》被推薦給任何一個想完善自己算法技巧的開發人員,它也被推薦給那些對NP完備性,隨機算法,快速傅立葉變換等課題感興趣的人。閱讀這本書也需要良好的數學知識。 

設計模式:可複用的面向對象軟件的原則 

Erich Gamma,Richard Helm,Ralph Johnson和John M. Vlissides著 

這本書闡述了各種面向對象的設計模式。對於書中23種模式的每一種,作者都給出了深度分析,這些分析包括清晰的示例,常見的缺陷,相關的模式,用C++或者SmallTalk寫的示例代碼。這些模式涵蓋了單件模式,觀察者模式,模板方法模式,迭代器模式和代理模式。 

這本書對於使用面嚮對象語言的中級或者高級開發者是必讀書目。剛剛進入面向對象開發的開發人員最好在掌握了面嚮對象語言以及在非實驗性項目中深入實踐以後再來學習裏面的模式。否者你學到的東西不可能是很牢靠的。 

編程珍珠 (第二版) 

Jon Bentley著 

這本書在學習解決問題的技巧方面非常突出。15章的每一個章節都對應着一個任務,例如排序電話號碼,創建迴文詞或者搜索文本。Bentley先定義問題,然後再提出不同的解決方案,提供了討論和對每個解決方案清晰的分析,最後再給出了編程的基本原則。 

《編程珍珠》包含了一些非常聰明的主意,它們可以用來做爲解決一些小問題的時候做爲參考。但是這本書更有用的地方是如何從工程師的角度解決問題。 

我把這本書推薦給每一位享受編程工作的人。 

編譯器:原則,技術和工具 

Alfred V. Aho, Ravi Sethi 和Jeffrey D. Ullman著 

《編譯器:原則,技術和工具》通常被叫做“龍書”(封面上有一條紅色的龍)。它是編譯原理課堂上的標準圖書。它涵蓋了你想知道的編譯器的各方面:文法,分析器,詞法分析,語法,中間語言的產生,運行時環境,優化等等。如果你對這些東西還沒有足夠的瞭解的話,那麼你就要準備去學習一些新的術語和概念,比如確定性有限自動機,有限狀態自動機,LR剖析器等等。 

我很喜歡龍書的各部分並且對裏面的數學概念和理論很感興趣(它們貫穿了整本書)。如果你很喜歡正則表達式和狀態機,那麼你會很喜歡這本書。另外一方面,如果你想知道一些現代編譯器的實現原理,你可能無法在裏面找到你所需要的東西。龍書是1986年出版的,不能涵蓋這些現代的話題。 

Unix強大工具 第三版 

Shelley Powers,Jerry Peek,Tim O' Reilly和Mike Loukides著 

這本書是O'Reilly出版社出版的很多偉大著作中的一本。《Unix強大工具》達到了1200頁,完全描述了Unix下面命令行工具,用法,腳本語法示例。 

《Unix強大工具》是一本組織的非常好的參考書。如果你依次讀下去,你會發現自己會變成讓人驚訝的計算機癮君子典型代表。 

這本書裏面大部分內容都可以在Google上面搜索到,但是有時候我們也需要這樣一本很好的參考書。 

這本書是爲數不多的適合於初學者和專家的書籍之一。不管是Unix新手還是有多年經驗的系統管理員都能從這本書獲益。 

便車旅行者指南終極收藏版:5部完整的小說和一個故事 

Douglas Adams著 

這不是一本技術書籍。但是如果你沒讀過這部便車旅行者三部曲,你就不可能摘掉計算機癮君子的帽子。它其實包含了5本書,《銀河便車指南》,《宇宙盡頭的旅館》,《生活,宇宙和一切》,《再見,謝謝那些魚》,《大部無害》,再加上一篇短篇小說《小柴法德謹慎行事》 

在發現對生活,宇宙和一切的答案中找到愉悅。學習如何製作Pan Galactic Gargle Blaster(這應該是一種飲料,但是不知道怎麼翻譯。出處在這兒: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. 
),而這一切都是毫不痛苦的。 

這個版本有漂亮的黑色皮革封面,還有絲帶書籤。閱讀的時候就好像在讀一本很好的聖經,而且還更可信。(我要在某些喜歡爭辯的人發現我之前收回我的話,這只是一個玩笑而已啦) 

這就是我最喜歡的9部半書籍,你會把哪些放在你的書架上? 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章