正如編程語言的趨勢一樣,編程書籍也是來來去去。但這七部經(jīng)典經(jīng)受住了時間的考驗,甚至比一些新書的名氣還更盛,這些書籍都是為了給新手和有經(jīng)驗的程序員提供一些對編程的獨到見解: 1. 《人月神話》
這是一本比較古老的書籍(原版發(fā)布于1975年),但時至今日,我的書架上仍然放著它,因為書中的內容依然適用,管理一個大型的項目依然是一項挑戰(zhàn),這本書不僅備受軟件工程師的歡迎,還被用于其他技術領域,諸如微處理器設計。而且本書在各大網(wǎng)站的銷量仍然很高,也被許多高校所使用。 2. 《計算機程序設計藝術(第1卷)》
了解現(xiàn)代計算機程序如何編寫的是每個計算機科學家都應該研究的問題。這一套書籍(一卷書不能包含所有的信息)是關于這個計算機的百科全書式的講解。你會發(fā)現(xiàn)在很多計算機科學課程中都提到過Knuth,因為他對當今事物運行方式有著重要的影響。更重要的是,Knuth觸及了現(xiàn)代技術的幾乎每一個領域,因為他幫助開發(fā)了許多用于其他研究領域的算法,包括數(shù)據(jù)科學。 3. 《算法導論》 在有關算法的書中,有一些敘述非常嚴謹,但不夠全面;另一些涉及了大量的題材,但又缺乏嚴謹性。本書將嚴謹性和全面性融為一體,深入討論各類算法,并著力使這些算法的設計和分析能為各個層次的讀者接受。 4. 《編碼》
許多現(xiàn)代程序員并不完全理解他們編寫的代碼與底層硬件之間的聯(lián)系。這是因為IDE,庫和其他工具傾向于將它們的聯(lián)系變得不那么明顯。本書旨在揭開它們之間連接的神秘面紗,為大家講述計算機工作原理 5. 《修改代碼的藝術》
事實上,許多開發(fā)人員都是把時間花在了更新別人的代碼上,而不是不斷從零開始編寫代碼。然而,大多數(shù)學校和書籍的方法都是教導大家編寫新的代碼。本書幫助開發(fā)人員處理遺留代碼,從而生成更好的應用程序 6. 《人件(原書第3版)》
我曾經(jīng)在自己的書中解釋道:應用程序是關于人的,而不是單純是硬件或軟件。當開發(fā)團隊過于投入技術時,應用程序常常會失敗。這本書是關于軟件管理領域的經(jīng)典,從多個角度闡述了如何思考和管理軟件開發(fā)的*大問題 —— 人 7. 《程序員修煉之道》
是什么讓一些程序員能把代碼變得像魔術一樣神奇有魔力,而有的程序員的代碼只能是勉勉強強而且缺乏靈感。這本書有助于你理解為何會有這種差異,更重要的是它提供了大量有用的技巧來提高你的編程能力,幫你從一個編程小工轉變成一位軟件大師,此外,新鮮有趣的寫作方式也是它的一大特點。