最常被程序員們謊稱讀過的計算機書籍

馬克·吐溫曾經說過,所謂經典小說,就是指很多人希望讀過,但很少人真正花時間去讀的小說這種說法同樣適用於“經典”的計算機書籍

Stack Overflow (以及其它很多軟件論壇)上,諸如”程序員最應該讀的計算機書籍有哪些? “這樣的問題會週期性的出現這樣的問題不斷的被提出、被回答 ,只是形式不同罷了。相同的幾本書總是會出現在清單的前幾名內,所以,如果想知道人們談論的都是些什麼,你有必要去讀一讀這些書的

大多數程序員真正讀過的計算機書籍

上面的這些書我自己都讀過,所以我不難相信很多不是很優秀的程序員也都讀過它們如果你對編程有足夠的興趣,能夠來到這裏讀這篇博客,你很可能讀過其中的大部分,甚至還有很多不在這個清單中的,所以我就不浪費時間每本書都評論一番了我想說的是,這個清單上的每本書都是它各自領域裏的奇書。所以,很多有願望不斷提高自己的編程技術的程序員都讀過這些書,這就不足爲怪了。

在人們備受推崇的計算機書籍中,還有一類書受到了獨特的待遇我稱下面這個清單爲“最常被程序員們謊稱讀過的計算機書籍”。這並不是說推薦這些書的人都沒有真正讀過它們。我只是有相當的信心懷疑更多的人只是在口頭上宣稱讀過下列書籍,而實際上很少人真正讀過它們。下面就是這個清單

最常被程序員們謊稱讀過的計算機書籍

  1. 算法導論(Introduction to Algorithms)這本書的名稱是所有出版過的計算機書籍中最讓人誤解一個它被廣泛的使用在很多大學裏,通常被當作畢業生必需的算法課程於是,只要在大學裏上過計算機課程的學生幾乎都有一本這樣的書。然而,除非你擁有計算機碩士學位(而且是算法研究領域的),我懷疑你頂多只讀過算法導論(Introduction to Algorithms)去 噹噹網 看 | 去 亞馬遜 看裏節選的幾章內容這個書名讓人誤解,是因爲”Introduction”這個詞讓人以爲它很適合初級程序員。實際上不是這本書對算法做儘可能詳盡綜合的介紹,就像其它一些隨處可見的類似的書一樣。請不要再把這本書推薦給初學者。
  2. 編譯原理(Compilers: Principles, Techniques, and Tools).這本恐龍封面的書涵蓋了開發一個編譯器你所需要的全部的知識。它的內容包括詞彙分析,語法分析,類型檢查,代碼優化,以及其它很多高深的題目。請不要把這本書推薦給初級程序員,他們需要的只是分析簡單的包含數學公式或HTML的字符串除非你真的需要實現一個能夠實用的編譯器(或解釋器),你根本不需要掌握這本“恐龍”書的全部強大威力。把它推薦給一個遇到簡單文本分析問題的人,這證明你根本沒有讀過它
  3. 計算機程序設計藝術(The Art of Computer Programming)(TAOCP)我經常聽到人們把這本書描述爲“每個程序員必讀”的系列計算機書籍我認爲這明顯不是實情。在我說出這樣大不敬的話、被你們用板磚拍死之前,請讓我做解釋一下這不是一本讓你一頁一頁翻着讀的書。這是一本參考大全書。把它放在你的書架上看起來會很不錯(實際上也它確實很好),但如果想把它通讀一遍,你需要幾年時間,而且最後什麼都沒記住這並不是說手邊放這樣一本書沒有什麼價值。它是一本參考書,當我遇到難題,走投無路時,很多次我都在這本書裏找到辦法。但這本書終究是被我當作參考書它複雜難懂,很理論,裏面的例子都是彙編語言的。好的一面是,如果你想在這本書裏尋找針對某一問題的解決方案,如果你找不到,那就說明這個問題無解它是一本對它所涉及到的領域做了最最詳盡介紹的一本書。
  4. 設計模式:可複用面向對象軟件的基礎(Gang of Four)這本書是唯一一本在這個清單裏我從頭到尾讀過的書,讀的結果是,我不知道該把這本書歸到哪個類別它出現在這個清單裏,並不是因爲我認爲只有很少人真正讀過它。很多人都讀過。只是因爲有更多推薦過這本書的人自己卻沒有讀過。Design Patterns這邊書的問題在於,很多書裏給出的信息,你在其它很多地方都能看到這樣就使得一個初學者在維基百科 上讀了幾篇關於設計模式的內容後,就敢在面試中宣稱自己看過這本書這就是爲什麼Singleton成了一種新的全局變量的原因如果有更多的人花時間讀過這本也叫做Gang of Four的書的原著,那世界上就不會有這麼多人會把17種設計模式硬塞到一個日誌(logging)框架裏了這本書最精彩的部分是每章裏描述如何正確的使用一種模式的段落遺憾的是,這些精華卻在很多其它設計模式資料裏被漏掉了。
  5. C++程序設計語言(The C++ Programming Language)這本書不像一本編程教材,更像一本編程語言參考有很多的跡象表明有人確實讀過這本書,否則我們不可能有這麼多的C++ 編譯器可選擇 編程初學者(或者甚至其它語言的專家),如果想學C++,不應該直接去啃C++程序設計語言(The C++ Programming Language)去 噹噹網 看 | 去 亞馬遜 看這本書告訴他們去讀《C++ Primer中文版去 噹噹網 看 | 去 亞馬遜 看》

正如我之前說的,我知道你們當中會有一些人真正的讀過這些書。那這篇文章不是針對你的,針對的是那些企圖通過假裝讀過這些書來表現自己的民衆。 如果你自己沒有讀過這些計算機書籍,請不要推薦給別人這樣做會耽誤別人的時間,誤人子弟,因爲一些閱歷更豐富的人可能會有更好的書(更針對某一領域,更容易理解,跟某種編程語言或某種編程水平更契合的書)來推薦除此之外,你也能避免被那些真正讀過計算機程序設計藝術(The Art of Computer Programming)去 噹噹網 看 | 去 亞馬遜 看的人用MMIX知識給拷問住造成的尷尬(如果你不知道我在說什麼,那我指的就是你)


轉自:http://www.aqee.net/books-programmers-dont-really-read/


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章