當前位置:
首頁 > 知識 > 每個程序員書櫃必備的編程書籍

每個程序員書櫃必備的編程書籍

每個程序員書櫃必備的編程書籍

一提到有關編程方面的書籍,你就會想起江湖中傳說的「每個程序員必讀的12本計算機科學書籍」,然而,這份清單並沒有什麼實用性。因為,計算機科學領域非常寬泛,幾乎所有程序員都可以閱讀任何主題,就算某個主題很重要,但由於讀者的學習偏好天懸地隔,因此對所有讀者而言,某個主題並不存在所謂「最好的」書籍。

《代碼大全》 史蒂夫·邁克康奈爾

推薦數:1684

每個程序員書櫃必備的編程書籍

「優秀的編程實踐的百科全書,《代碼大全》注重個人技術,其中所有東西加起來,就是我們本能所說的「編寫整潔的代碼」。這本書有50頁在談論代碼布局。」 —— Joel Spolsky

對於新手來說,這本書中的觀念有點高階了。到你準備閱讀此書時,你應該已經知道並實踐過書中99%的觀念。– esac

  1. 《程序員修鍊之道》

推薦數:1504

每個程序員書櫃必備的編程書籍

對於那些已經學習過編程機制的程序員來說,這是一本卓越的書。或許他們還是在校生,但對要自己做什麼,還感覺不是很安全。就像草圖和架構之間的差別。雖然你在學校課堂上學到的是畫圖,你也可以畫的很漂亮,但如果你覺得你不太知道從哪兒下手,如果某人要你獨自畫一個P2P的音樂交換網路圖,那這本書就適合你了。—— Joel

《點石成金 : 訪客至上的網頁設計秘笈》

每個程序員書櫃必備的編程書籍

在關於可用性的書籍中,這是我讀過的最好的一本書。書名提到了「網頁的可用性」,但是請不要被這一虛假的特指所迷惑。Steve Krug在書中提到了可用性這一概念所包含的全部重要內容,而且講的很好,書也很有意思。如果你只想讀一本關於可用性的書,那麼讀這本就可以了。這本書囊括了很多有用的信息,並且以簡練的、平易近人的方式將這些信息呈現給你。這本書對於很多人都是適用的:技術人員、非技術人員、用戶、開發者、經理等凡是你能說出名字的任何人。

《計算機程序設計藝術The Art of Computer Programming》

這又是一部經典之作。由著名的計算機科學家教授Donald Knuth編著,並得到行業內眾多頂尖程序員的一致好評。甚至連Bill Gates也對這本書讚譽有加:

「如果你認為你是一個真正優秀的程序員……那麼就去讀[Knuth的]《計算機程序設計藝術The Art of Computer Programming》吧……如果你能讀懂整本書,那麼請一定要給我發簡歷。」

這本書以基本的編程概念和技術開頭,然後聚焦於更具體的信息結構——計算機內的信息表示,數據元素之間的結構關係,以及如何有效地處理這些問題。此外還提供了基本的應用程序給模擬模擬,數值方法,符號計算,軟體和系統設計。

每個程序員書櫃必備的編程書籍

《黑客與畫家:矽谷創業之父paul graham文集》是矽谷創業之父paul graham 的文集,主要介紹黑客即優秀程序員的愛好和動機,討論黑客成長、黑客對世界的貢獻以及編程語言和黑客工作方法等所有對計算機時代感興趣的人的一些話題。書中的內容不但有助於了解計算機編程的本質、互聯網行業的規則,還會幫助讀者了解我們這個時代,迫使讀者獨立思考。

每個程序員書櫃必備的編程書籍

Head First Java

每個程序員書櫃必備的編程書籍

Head First Java是所有編程或者Java初學者最適合的書籍,我很喜歡輕鬆和寓教於樂的Head First風格,這應該是最有意思的關於Java的書。無論是初級,中級還是高級都能從中有所收穫。學習本書,你可以了解到類,對象,線程,集合等編程知識,還可以了解到泛型,枚舉,可變參數和自動裝箱等語言特性。本書中還涉及到了Java高級編程中的Swing,網路編程,IO操作等,可以讓初學者對Java有比較完整地概念。如果你是一位Java初學者,不要猶豫,這本書最適合你了。

Head First 設計模式

每個程序員書櫃必備的編程書籍

Head First設計模式又是一部Head First系列的書籍。作者為Kathy Sierra及其團隊。當我在2006年開始讀這本書的時候,我對設計模式並不是很了解。設計模式解決什麼問題,怎麼解決問題,如何使用設計模式,設計模式有什麼好處,這些問題我幾乎都無法回答出來。但是當我讀完這本書的時候,一切都豁然開朗。在本書介紹繼承和組合一章,使用簡單有趣的例子,一步一步提出問題並解決問題,最終得出最優解。本書中會有很多要點總結,幽默對話,練習題還有有名的單詞接龍等幫助你更好地了解設計模式。如果你想了解Java中的設計模式,請帶走這本書。

《Python核心編程(第2版)》([美]丘恩(Chun,W.J.))

每個程序員書櫃必備的編程書籍

《Python Cookbook(第3版)中文版》

每個程序員書櫃必備的編程書籍

《禪與摩托車維修的藝術》by Robert M. Pirsig

推薦數:183

每個程序員書櫃必備的編程書籍

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

來自於Garth Gilmore的評論:

我敢篤定,這本書教會我的有關軟體開發方面的東西遠比其他任何一本編程書都多。

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

給出幾個這個理論如何應用於編程的例子:

如何處理摩托車的」質量理念「以引導進程的章節,也同樣適用於編程區域。

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

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

總之它是一本好書。

《C Primer plus》第5版

每個程序員書櫃必備的編程書籍

這是目前市場上,最適合自學的C語言書籍。你可以在書中找到所有C語言編程概念的詳細解釋。這本書為每一個單獨的概念提供了簡短的例子,幫助讀者更好理解。比如,指針這一章節就體現了這個特點。指針章節是本書編寫最出色的章節之一。指針用來標識內存中的具體位置並且存放相應內存地址。書中參照了最新的ANSI標準C99。對於初級程序員來說,本書對學習基本概念大有幫助。這些概念在其他語言(比如:PHP和JAVA中)也有所應用。

《編碼:隱匿在計算機軟硬體背後的語言》 作者:Charles Petzold

許多現代的程序員並不完全理解他們編寫的代碼與底層硬體之間的聯繫。這是因為編譯器、類庫和其他工具將弱化了這層聯繫使它變得不可見。但是那些設計語言、編譯器、類庫和其他工具的人通常對於代碼和底層硬體的關係有很好的理解,因為他們已經代勞了理解代碼的工作。這本書的目的就是用於闡述這層聯繫。

每個程序員書櫃必備的編程書籍

《Clean Code》

《Clean Code》,作者Robert C. Martin,分為三個部分。第一部分介紹原則、模式和編寫乾淨代碼的實踐方法。第二部分包括若干個複雜度漸進的研究案例。每個案例研究就是一個清潔代碼的練習,也是通過解決代碼庫中的一些問題讓代碼變得健全、高效的練習。第三部分是決定性的一個部分:每個單獨的章節在創建案例研究的時候包含了一系列啟發式的教學法。最後得到了描述我們在編寫、閱讀和清理代碼時的思考方式的知識庫。

每個程序員書櫃必備的編程書籍

Python Cookbook

如果你在編寫Python3程序時需要幫助,或者想更新老的Python2代碼,這本書正是你所需要的。這本書包含了大量使用Python3.3編寫並測試過的實用編程技巧。對於那些關注現代工具和慣用技巧的有經驗的Python程序員來說,這本書無可替代。

每個程序員書櫃必備的編程書籍

2.Python演算法教程

這本書用Python語言來講解演算法的分析和設計。該書主要關注經典的演算法,但同時會為讀者理解基本演算法問題和解決問題打下很好的基礎。全書共11章。分別介紹了樹、圖、計數問題、歸納遞歸、遍歷、分解合併、貪心演算法、複雜依賴、Dijkstra演算法、匹配切割問題以及困難問題及其稀釋等內容。書中在每一章結束的時候均有練習題和參考資料,這為讀者的自我檢查以及進一步學習提供了較多的便利。在全書的結尾,給出了練習題的提示,方便讀者進行查漏補缺。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 PHP愛好者 的精彩文章:

快速成長期的雲原生應用架構實踐
一位程序員工作10年總結了這些忠告
劣質代碼產生的五個原因

TAG:PHP愛好者 |

您可能感興趣

一個女程序員的編程之路
程序員的編程能力與編程年齡
程序員為什麼焦慮於編程語言和框架?
程序員編程10大原則
程序員嘗試理解一門新編程語言的時候
程序員編程10大原則,請牢牢記住!
編程前的準備
編程大牛推薦,每個程序員都應該了解的學習資料、代碼技巧
多地編程協作的必備技——遠程結對編程
程序員必讀經典長文:用十年時間自學編程
編程教育 數字原住民的必修課
編程測試,程序員過不去的坎?
程序員編程時戴耳機是在聽什麼?
程序員如何用編程套路追到女朋友的?
技術面試時,程序員需要什麼樣的編程測試?
C語言編程入門經典N個程序,你會嗎?
程序員偽裝 AI 編程,竟騙來 2 億的投資!
準備程序員面試?你需要了解這 14 種編程面試模式
各編程領域最好的入門書籍
不要做一個只會面向搜索編程的程序員!