對於學計算機的人,你們選書都是遵循怎樣的原則?

就是你為什麼會看你看過的書?別人推薦的?自己隨便拿的一本書?


多圖預警 (其實我覺得寫書評適合去隔壁豆瓣,呵呵)

=====================看到其他回答,這裡補充一點==============

(這裡主要是提供給有經驗的朋友,初學的請直接進入正題)

@李溯 提到了,內容充實、詳細的書比較能學到東西。但我覺得,這些其實不是我們看書的重點,畢竟再全的書,也比不過上網搜索。

【對新手來說,過多的信息會打亂學習節奏,優先學習重點概念很重要】

但更重要的

【對高手來說,體會大神的章節選擇背後的理由,思考作為選擇、甚至放棄某些我們認為非常重要的知識點的理由,對比同類書籍寫作思路的區別,這都是非常重要的】

現實是可悲的,我們沒有辦法呆在大神身邊接受指導,所以我們就更要抓住各種信息來理解大神的思路。這裡舉出一個估計大家都看過的例子:

C++.Primer第三版.中文版 目錄

這是第三版的目錄,請注意第二章,作者開篇就開始強調C++是多風格語言,這點也和《編程之魂》中的訪談思路相同。

人民郵電出版社優秀圖書:C++ Primer中文版(第四版) 圖靈程序設計叢書

第四版中,則在第三章就快速的進入了標準庫的內容,這很大程度上讓我們看到,隨著語言的豐富,強調C++全能的時代開始轉變。

C++ Primer 中文版(第 5 版) (豆瓣)

第五版中,去掉了四版第四章「數組與指針」,數組併入其他章節,指針則被刻意的淡化。

這就是作者在告訴大家,不要用指針的,不要再覺得指針是C++最核心的東西了,現代編程的理念在改變。

在這個例子之後,我們回過頭來反思,如果我們逐頁去看書的內容我們還能關注到這些么?是否我們的關注點太【細緻】了?沉浸在細節中,往往讓我們忽略了重要的內容。而看一本很薄的著作,就是作者幫我們脫離細節的契機。將薄的書先看懂,然後再用學到的觀點,去碾壓厚書中的其他邊角知識,這是我推薦的看書方式。大家都聽過所謂的「把厚書看薄,把薄書看厚"這樣的言論,大概就是在說這個。

=====================補充結束============================

首先反對 @孫明秋第一點,對於普通的國內長大的人來說,看一本原版書可以看2、3本翻譯書,收益太小,推薦只有沒有譯本或公認實在翻譯坑了的再說原版。而且說句實話,絕大部分人的水平遠遠達不到翻譯書的人的水平,感覺一定要看原版太盲目,當然很多看原版的是順道學英語這個就另說了。

=============下面正題=================

1.先說書的範圍,很多人覺得,學計算機和學編程在很大程度上是等價的,其實這是非常大的誤區。編程語言在整個知識體系裡面,頂多也就是一小部分,看看計算機專業的課程設置就知道,大部分都不是語言課。如果不太清楚範圍,可參考軟考的提綱(根據水平選對應等級),了解下重要的方向都有哪些,每個方向都要看過專門的書,無論你做不做這塊。如果自學,在基礎的編程問題解決後最好就要開始了,直接深入高級編程反而耽誤時間。

2.然後說書的用途,這個也是很多人誤會的。就比如說《設計模式:可復用面向對象軟體的基礎》這本書,里程碑式的巨著,不可動搖的地位,絕對的好書。但是,好書也是相對的,宏觀上說,這本書應該是有相當經驗的人看的,因為寫書的目的就不是「教學」而是「論述」。最經典的被過度推薦的書莫過於《C++ Primer》了,我身邊就有無數的血淚史。在選書的時候一定要區分這些,比如學「數據結構與演算法「類的東西,那本《演算法導論》你就慢慢學去吧,別人出師了你都看不完。

3.確定了方向、程度後,就可以開始選書了,這裡推薦的選擇順序是:大獎/極佳口碑 -&> 作者 -&> 譯者 -&> 系列 ,如果都沒沾上,就只能看封面的美工水平了。(看目錄一般適於學某些具體問題,這裡不討論)。公認的、而且適合你水平的書是有保證的,這個不用多說。對於作者,可能需要有些經驗的人才能分辨,但如果遇到不錯的書,不妨關注下作者的其他書籍,讀某人的多本書更能發現他的思路,對自己的水平提升幫助是巨大的。譯者的話同樣是質量的保證,很大程度上,頂級譯者的出現不僅代表著翻譯質量,甚至也是為原書的質量進行了擔保。

【重點說說系列】因為上面說的操作性較差,需要基礎,系列很直觀,這裡分別就不同方向給一些推薦【圖片只是為了推薦系列,搜圖方便,圖片中的不見得就是同類最好】

【wrox系列】,清華出版社,這是改版後的封面。

帶「入門」兩個字的適合新手,"高級"的不像你想想的那麼高級,有基礎就可以了,不要害怕。

【微軟技術叢書】下圖是老版,特點是左上部分微軟字樣

學微軟技術的話最優選擇。

【O"Reilly動物書】很多很萌的動物哦~特點是白色

這個系列,整體的感覺書不適合新手,內容全面質量很高,對具體領域來說必備的(但不是教學書),我個人是只要進入某個方向,一定買一本這個系列的。

【Manning服裝系列】各種奇裝異服大集合

最好有一點基礎的看,不是純小白向的;看過的書基本上都是內容過硬,品質很好。

【人郵圖靈程序設計叢書】左上是重點,注意圖靈後面字不一樣

軟體工程方面除了不少好東西,主流語言方面也不錯,對口的話推薦購買,其他方向(尤其是web)感覺一般

【人郵圖靈計算機科學叢書】藍色+建築物

這個系列所有看過的都比較不錯,如果對口優先推薦。

【電子工業出版社】顏色不一樣,但形式一樣

這個……很學術,選的都是經典中的經典,但也是難點中的難點,不求甚解的朋友推薦繞路

【機械工業-黑皮系列】這個…恐怕是數量最多的吧

特點是沒有特點,不知道總編輯怎麼想的,什麼都翻譯,在這裡你能找到巨著,也能找到垃圾,系列幾乎沒起到任何品牌效應,如果沒把握的時候,推薦其他系列

【圖靈數學】雖然是數學,但也順道推薦下,有時間看看很好。

個人覺得完爆華章系列,我早晚要買齊這套

【肯定有遺漏,請大家指點。太專業的軟體工程系列比如UML的我就不放了,需要的朋友肯定知道】


版本多的,很多都是經典。

O"Reilly出版的,不過很多被翻譯過來就變質了。

盡量英文的


查看大神的推薦,自己去圖書館找


三類書:1. 解決當前問題的;2. 有時候會翻的參考書;3. 講大道理的。

第一類,就選國內人寫的,雖然很多都可能是翻譯的文檔(比如hadoop實戰),比看文檔稍快一點,這類書僅限於入門。

第二類,就像js犀牛書,unix環境高級編程等,買最厚最貴的好了。

第三類,設計模式,代碼大全,重構,code這類調自己感興趣的看好了,沒看並不證明你水平不行

另外:清華大學出版社出的書不買,翻譯質量差得很有一致性。

最後,看書是為了解決問題,提升水平,不是為了裝B。為了解決問題,出於需要,看看21天學通xxx不丟人


1.儘可能看原版書

2.看不懂原版,找好的譯本,比如O"Reilly動物書系列

3.不求速成


1. 選國外原版書

2. 你要學哪一科內容,先Google國外大學相關課程,看他們Syllabus推薦什麼書。

3. 面向碼農的實踐向書,著名的出版社有O"Reilly/Manning/Packt/No Starch/Apress等,樓上已經說過了。補充幾個面向CS學生的教科書質量高,值得優先關注的出版社:

Home | Cambridge University Press

The MIT Press

Home - Springer

Morgan Kaufmann

McGraw-Hill Education

P.S.國外原版書價格坑爹是不爭的事實。。應對的方法:

1. 少數在各領域比較經典的書有影印版,影印版價格與國內翻譯版相差不大,可以承受。主要看機械工業出版社、高等教育出版社兩家。對了,東南大學出版社的O"Reilly影印版價格比較良心,值得關注。

2. 沒有影印版的書,如果有電子版,可以在出版社網站上買。關注出版社的官推,訂閱他們的郵件,一般時不時會來個打半折之類的優惠活動,如果有感興趣領域的書優惠了就可以下手。像這兩天Packt全場電子書/視頻5刀,Manning全場電子書5折,機不可失,可以入手。(需要一張MasterCard/VISA信用卡,或者註冊一個PayPal然後綁定國內借記卡,網銀支付)

3. 看盜版電子書。固然是不合法不合道義之事,不過我承認盜版書給我的助益是不可估量的。


Textbook


計科專業,我一般看書是根據別人的推薦,比如知乎上一些大牛的推薦,還有就是一些有名的計算機書籍的出版社,比如人民郵電出版社的圖靈教育系列叢書,都是非常不錯的,還有就是oreilly出版系列的書籍,尤其是head first系列書籍,是非常好的入門書,我一般在圖書館找書就首先找圖靈教育的和OREILLY出版社的。最好不要找那些什麼80天學會JAVA,一個月前端開發等,不覺得可笑嗎。


再推薦個出版社: apress, packet, manning


首先考慮原版書。血淋淋的事實告訴我們國內教材沒幾本好的——與其費勁去裡面找那一兩本好的,不如當作一個標籤都不去考慮。

第二,講相同內容的書,挑厚的不挑薄的。大板磚雖然看上去很嚇人,但仔細想想,講相同的內容,總還是厚的書講得更詳細一點吧。

動物書(O"Reilly叢書的俗稱)和圖靈叢書都是口碑比較好的。

另外,不要怕讀英文。要成為好的程序員,英文能力是必不可少的基本功。逃避英文而去選擇中文資料會讓你失去很多好的資源,包括但不限於好的書籍、文檔和社區。

以上純屬個人經驗,沒有大量樣本測試,不保證可靠。


大家看看書都不看中國人寫的,看來對中國的學術是失去信心了


推薦一本已不再出版的VB老書:《Visual Basic入門》-黃輝,李冬梅-北京大學出版社-1996

並不知名但極其適合入門自學,初中生即能理解的那種。


pdf優先


一般購書看國外作者寫的書確實會深入些,然後推薦圖靈系列的書質量也會比較高,網上購書首推亞馬遜


推薦閱讀:

國內計算機學生應該做哪些準備和工作才能到美國矽谷實習或者工作?
如何優雅的翻譯 on the fly ?
為什麼程序員有那麼多過勞死的,知乎上還是樂此不疲的勸人轉計算機專業?
CS專業去美國讀研和讀博的區別?
哪個瞬間讓你覺得一入計算機深似海?

TAG:編程語言 | 編程 | 計算機 | 軟體工程 | 計算機專業 |