程序員應該讀的 7 本計算機書
一些經典的書籍是永遠不會過時的,並且會被越來越多的前輩們所推薦,今天的分享就是總結的一些大家所推薦的書籍,希望對你有用!
前言
正如編程的趨勢和各種語言,編程書也在不斷更新換代。不過以下的 7 本經典書籍經受了時間的考驗。有些書比其他的書面世的晚,但是這些書為新人還是有經驗的程序員都提供了深入的見解。
《人月神話:軟件工程論文集》(周年第二版)

作者:**Frederick Brooks, Jr.
這是一本比較古老的書(它的第一版誕生於1975年!),本書在我的書架上還保存着一本,因為它所傳達的理念到現在仍然適用。複雜的項目管理仍然是一項很大的挑戰,本書不僅適用於軟件工程,在其他技術領域也同樣適用,比如微機處理器設計。事實上本書在很多編程暢銷書排行榜上穩居前列,同時很多大學也在用它作為教材使用。
《計算機程序設計藝術》
作者:Donald Knuth
理解為什麼現代計算機程序代碼都是以這樣一種形式存在是每一個計算機科學家都應該學習的東西。這一整套書詳細的闡述了這方面的原因,它的信息量太大,以至於無法在一卷中覆蓋所有信息。因為 Knuth 在計算機程序設計方面具有至關重要的作用,所以在許多計算機課程中會涉及到他的理論。更重要的是,Kunth 的理論影響了幾乎所有的現代技術領域,因為他幫助開發的許多算法能用於其他領域的研究,包括數據科學領域。

《算法導論》第三版
作者:Thomas Cormen, Charles Leiserson, Ronald Rivest, Clifford Stein
許多以團隊所編寫的書會缺乏專註點而且會包含相互矛盾的觀點,但本書卻沒有這個問題。相反,本書詳細和全面的闡述了將算法應用於計算機科學和其他以數學為基礎的技術中的觀點。它對於算法的嚴謹性能夠讓你很好的理解為何一種算法適用於某種特定的方式。
《編碼:隱匿在計算機軟硬件背後的語言》
作者:Charles Petzold
許多現代的程序員並不完全理解他們編寫的代碼與底層硬件之間的聯繫。這是因為編譯器、類庫和其他工具將弱化了這層聯繫使它變得不可見。但是那些設計語言、編譯器、類庫和其他工具的人通常對於代碼和底層硬件的關係有很好的理解,因為他們已經代勞了理解代碼的工作。這本書的目的就是用於闡述這層聯繫。
《修改代碼的藝術》

作者:Michael Feathers
在現實世界中,許多開發者在更新其他人所寫代碼花的時間遠遠超過編寫新代碼所花的時間。不幸的是,大多數學校和書籍的切入點都是從開發者編寫新代碼開始的。這本書可以幫助開發人員在舊代碼中產生更好的應用程序。本書還更進一步的幫助開發者在修改代碼時得到更深層的見解,通過這種方式能夠讓開發者再編寫新代碼時寫出很酷的程序。
《人件集:人性化的軟件開發》(第三版)
作者:Tom DeMarco,Timothy
我盡量在我的書中解釋應用程序在於人,而不在於軟件或者是硬件。當一個開發團隊過於沉浸於技術時,這個應用程序基本宣告失敗了。這本書主要討論人——關於如何管理團隊並充分利用成員的技能來創建能取悅用戶的應用程序。
《程序員修鍊之道》

作者:Andrew Hunt ,David Thomas
是什麼決定了一個程序員成為一名能使代碼變成魔法的藝術家,還是平庸的碼農?本書闡述了其中的差別。更重要的是,本書提供了大量實用的編程技巧,來幫你從一個碼農轉變為軟件大師。新鮮和有趣的寫作手法,讓本書非常易於閱讀。
