國外程式設計師推薦:每個程式設計師都應該讀的非程式設計書

edithfang發表於2014-07-17

五年前有網友在 Stackoverflow 發帖提問:『程式設計師應該讀哪些非程式設計方面的書?』。有很多程式設計師響應,他們在推薦的同時也寫下了自己的評語。本文摘編其中 29 本書,下面就按照各書的推薦數排列。另外,本月初我們在伯樂頭條也發起了相同的討論帖《你最喜歡的非程式設計書是哪一本?》,已有很多的朋友推薦了他們喜歡的書。
 
1.《銀河系漫遊指南》by Douglas Adams

推薦數:480



生活,宇宙,所有的一切。

“看在前,思考在後,然後去實踐。但是看總是在最前面。否則,你只能看到你以為的樣子。大多數的科學家忘記了這一點。”–Wonko的智慧

作為開發者以及曾經的技術支援,從這本書(以及整個系列)中我們能學到一件事情:不要恐慌!!!另外,這本書讀起來的舒適程度遠勝於你自己存在的問題。–  SirDemon
 
2.《人性的弱點》 by Dale Carnegie

推薦數:322



儘管這本書是在1936年首次出版的,書中給出的建議仍然是一如既往的新鮮和適當。不要被它的名字誤導。這並不是給未知情的受害者找到自己做人的方式的欺騙性指南,而是關於如何與人相處,如何培養人際關係並充分利用你自己和你的男人(女人)方面很有意義的建議。

眾所周知,技術宅(包括程式設計師)經常被認為並不是非常的”以人為本(善於交際)“(這是不是一個合理的成見是另一個討論的話題),那麼這本書是一個教你更好的與人打交道方面的無價的資源。
它溫暖,真誠,全面,直白,持續寫成。強烈推薦。
 
3.《別逗了,費曼先生》

推薦數:317



這本書將啟發每一位讀者思考,並回歸原始。

絕對驚奇的一本書!體現思考和與眾不同的樂趣。他不只是讚美它,作者的生活本就如此並愛著它。這本書如此有趣。(另外,作者是如此有才,以至於本書深刻並讓人著迷。)–  Beska
 
4.《一九八四》 by George Orwell

推薦數:312



需要買來讀嗎?哼,我總覺得你會錯過它的要點。 –  ApplePieIsGood
 
5.《哥德爾、艾舍爾、巴赫:集異璧之大成》 by Douglas Hofstadter

推薦數:275



我讀到一半,並認為它被高估了。作者總是重複一些概念但這往往會變得煩人。很多時候我都想朝著作者大吼:”我已經懂了一次又一次!“。 –  heeen
 
6.《設計心理學》 by Donald A. Norman

推薦數:243



很棒的書,會讓你更欣賞很棒的設計! –  Danielb

我大概從上個月開始讀這本書。真的會讓你以不同的眼光(大多是憤怒)來看待事物。 –  jammus
 
7.《搞定:無壓工作的藝術》by David Allen

推薦數:230



我一直想讀的一本書。–  Kaz Dragon

我強烈推薦這本。它不會改變你的生活,但是它會幫助你思考解決效率和拖延的問題,而不再是你生活中必須忍受的固有的問題。這種心態的轉變讓像我這樣的懶惰者變得很不一樣。 –  Brandon Yarbrough
 
8.《人月神話》by Fred Brooks

推薦數:216



這怎麼是非程式設計方面的書呢? –  MusiGenesis
 
9.《點石成金:訪客至上的網頁設計祕笈》by Steve Krug

推薦數:200



web應用方面很有意義的一本書。正如作者所說:”常識並不總是顯而易見的“。
 
10.《人件:生產性專案和團隊》by Tom DeMarco and Timothy Lister

推薦數:186



這本經典的書鼓勵我們來思考人的重要性,而不是過程。它裡面充滿了關於團隊建設,生產率以及辦公環境的實踐建議。它是一本必須讀的書,不管是專案管理者還是任意的軟體開發參與者。
搞兩本,一本自己讀,一本給你的主管。
 
11.《禪與摩托車維修的藝術》by Robert M. Pirsig

推薦數:183



這本書講了很多東西,但是你可以認為它是呈現”神交“在哲學上的意義。

來自於Garth Gilmore的評論:
我敢篤定,這本書教會我的有關軟體開發方面的東西遠比其他任何一本程式設計書都多。

這本書的主線是關於我們對於世界上浪漫主義(藝術)和現實主義(科學/理性)的認知是如何來自於,我們是怎樣看待我們周圍的環境的。這種理解然後被應用於一般性的任務,比如摩托車維修。

給出幾個這個理論如何應用於程式設計的例子:
如何處理摩托車的”質量理念“以引導程式的章節,也同樣適用於程式設計區域。

”進取心的陷阱(欲速則不達)“阻止了程式並導致你損壞機器的章節是無價的。解決方案也同樣能在修改遺留程式碼而不引入新的bug中有效果。

有一個純粹描述發動機部分的經典章節是無用的(因為它沒有任何地方可以讓使用者提出異議),但應該被每一個被捲入需求分析的人來閱讀。

總之它是一本好書。
 
12.《安德的遊戲》 by Orson Scott Card

推薦數:183



這本書被高估了,除非你在你還是一個性格陰鬱的怪胎少年的時候第一次讀它。我知道沒有人(包括我自己)在自己年紀比較大的時候讀完它會覺得它是一本必讀的書。– jmucchiello
 
13.《 Cryptonomicon | 編碼寶典 》 by Neal Stephenson

推薦數:158



這本書講述的是關於第二次世界大戰密碼破解的真實故事,今天他的後代致力於計算機的發展(阿蘭·圖靈在書裡單獨作為一章來講解)。是極客必讀之書。
 
14.《The Visual Display of Quantitative Information》by Edward Tufte

推薦數:158



討論瞭如何以圖形方式表示不同型別的複雜的資料。

書中對於PPT的危害簡短而又簡單的評論也很有優秀。–  Chet
 
15.《風格的要素》by William Strunk & E.B. White

推薦數:156



在看過Joshua Bloch(因《Effective Java》而名言四海)對於此書的推薦後我們也在我們的R&D(研究與開發)圖書館引進了一本:

這本薄薄的小冊子宣揚簡單性和清晰性的信條,因為它適用於英語散文。如果你謹記在心,它不只會提高你寫詩的水平,也會提高你的編碼水平。

在另一個專訪中,Bloch闡述了為什麼它對程式設計師有好處:

我認為閱讀斯特倫克和懷 特(作者)會讓你成為一名更優秀的程式設計師,因為好的程式設計與好的書寫都是關於詞句的簡單性與簡潔性的。如果你不知道你要表達什麼,你是寫不出好的程式碼和好的 散文的。斯特倫克和懷特里很多的警告在程式設計中也是類似的。比如,斯特倫克和懷特說:“去掉不必要的語句”。Andy Hunt 和Dave Thomas(“實效程式設計師”)也說:“不要重複造輪子”。斯特倫克和懷特說:“要推敲和重寫”,馬丁·福勒說:“要重構”。還有等等諸如此類的。

現在,我個人認為《風格的要素》這本書中很多建議有點過時了,因為英語的使用出現了演化(比如,現在以”Hoverever”作為一個句子的開頭是完全可以的,或者使用hopefully代替“I hope”)。但是大多數的地方我還是同意作者的,而且很享受閱讀此書。

這裡是阿特伍德對於《風格的要素》不得不說的更多的資訊。也許它是比約書亞·布洛克說的更好的 更好的閱讀指南。
 
16.《沙丘魔堡》by Frank Herbert

推薦數:152



《沙丘魔堡》是科幻小說的頂峰。
 
17《孫子兵法》

這個就不需要介紹了
 
18.《雪崩》By Neal Stephenson

推薦數:120



最近我在某人的推薦下閱讀了這本書,我非常失望,它都過時了。– Ian Dickinson
 
19.《愛麗絲漫遊奇境記》by Lewis Carroll

推薦數:114



“《愛麗絲夢遊仙境》是門外漢最好的程式設計書”,是因為對門外漢來說,對於任何事物它都是最好的。–  Jeremy Friesner
 
20.《基地系列》by Isaac Asimov’s

推薦數:114



很棒的圖書。我發現這本書裡的理論像是通過通過混沌理論來介紹社會學。關於社會發展很好的闡述。簡單有趣,就是有點厚。–  Beska
 
21.《魔戒》

推薦數:114



除了它之一本科幻鉅作外,這也是(幾乎所有)的現代幻想小說的基礎。(而且,對於一群計算機程式設計師來說更有意義的是,它也是龍與地下城的核心啟示之一)

退幾步說,為了能在午餐的時候加入到話題中,每個程式設計師必讀的三本書是指環王,沙丘,銀河系漫遊指南。(這個有點誇張)

如果你只是看過電影,那麼試著去讀下書。

從科技的角度,書裡的不重要的人物能對世界有深刻而積極的影響的基本資訊,以及他們周邊的組織讓大公司的程式設計看到了希望。

我需要補充的是團隊協作是很重要的,甚至是在團隊裡有些人有破壞作用,有的人很自私或者不能融入團隊,當到了最後的期限或者索隆即將出現的時候,你仍然可以讓他們做的很好而扭轉戰局。– anonymous coward
 
22.《平面國》by Abbott

推薦數:111

這本書太舊了,以至於它現在都不出版了。你可以在這裡閱讀全書:geom.uiuc.edu/~banchoff/Flatland – Simucal
 
23.《時間簡史》by Stephen Hawking

推薦數:104

 
24.《地獄來鴻》by C. S. Lewis

推薦數:83



想象一個惡魔在編寫一個關於人的程式…..
 
25.《神經漫遊者》By William Gibson

推薦數:74



他創造了網路空間這個詞,它延伸的三部曲是我想當一個編碼仔的原因。

具有諷刺意味的是,他寫的這些書打擊了技術迷,並滲透到社會的今天(和未來)–  J. Steen
 
26.《深夜小狗神祕習題》by Mark Haddon

推薦數:73



它給出了有關你古怪同事的一些看法。

這本書真的很不錯。他幫助我認識了孤獨症和阿斯伯格綜合症患者(作者為了寫書和孤獨症患者一起工作了一些時間,從我和一些阿斯伯格綜合症患者兒童的相處來看,它非常真實)。– Mongoose
 
27.《仿生人會夢見電子羊嗎》by Philip K. Dick

推薦數:66

作者寫的其他東西當然也很棒。

他的離奇古怪的故事肯定幫助人們有更多的思考。

對於程式設計師來說是奇幻的一本書和一部電影。而且,對於PKD的其他書(也不盡然只是書,還有必須的電影,比如《致命報酬》)也很不錯。不過顯然總記得是一個很棒的電影。– Troy Nichols
 
28.《互動設計之路》by Alan Cooper

推薦數:66



它講述的用正確的語言來談論專案–用故事(和角色模型)代替產品特點來談論我們需要認識到的東西。還有一些在互動設計以及相關活動上的強調,要提供使用者需要的而不是要求的。
 
29.《高效能人士的7個習慣》by Stephen Covey

推薦數:61



如果你沒有讀過這本,你會錯過很多你潛在的能力–最初摘自John Channing的文章。

編輯:你可以獲取它的免費有聲讀物

來自Julie的評論:

這本書具有普世價值–不僅僅是對於軟體開發者來說。鑑於你做很多事來幫助你處理日常的事務,7個習慣能幫助你保持高效的生活和一個你需要轉化為日常細節的普世方法論。這本書是從這方面考慮來處理事情的完美補充。

原文連結: Stackoverflow   翻譯: 伯樂線上abell123
相關閱讀
評論(0)

相關文章