學程式設計要看什麼書?我想了下,最受歡迎的應該是這幾本

weixin_33978044發表於2018-05-03

溫馨提示

如果你喜歡本文,請分享到朋友圈,想要獲得更多資訊,請關注我。

國外知名網站 stackoverflow 上曾有一個問題調查: 

哪本書是對程式設計師最有影響、每個程式設計師都該閱讀的書, 這個調查吸引了 153,432 人訪問,讀者共推薦出了 478 本書,其中最火的一本書已經被頂了 1333 次

如果小夥伴想要做個程式設計師,建議以下這些書都可以看看:

第一名:1333票《程式碼大全(第二版)》

10714192-83eb0305ac5aa01a

● 出自著名IT暢銷書作者史蒂夫·邁克康奈爾之手

● 曾被《軟體開發》雜誌授予優異產品震撼大獎

第2版的《程式碼大全》是對第一版完全進行了重寫;增加了很多與時俱進的內容。

10714192-3398705222c5266b.jpg

是一本完整的軟體構建手冊,涵蓋了軟體構建過程中的所有細節。它從軟體質量和程式設計思想等方面論述了軟體構建的各個問題,並詳細論述了緊跟潮流的新技術、高屋建瓴的觀點、通用的概念,還含有豐富而典型的程式示例。

這本書中所論述的技術不僅填補了初級與高階程式設計技術之間的空白,而且也為程式設計師們提供了一個有關程式設計技巧的資訊來源。

可以說,無論是什麼背景的讀者,閱讀這本書都有助於在更短的時間內、更容易地寫出更好的程式。

第二名:1181票 《程式設計師修煉之道》

10714192-c782c72d81e267c6

《程式設計師修煉之道》由一系列的獨立的部分組成,涵蓋的主題從個人責任、職業發展,直到用於使程式碼保持靈活、並且易於改編和複用的各種架構技術。

利用許多富有娛樂性的奇聞軼事、有思想性的例子以及有趣的類比,全面闡釋了軟體開發的許多不同方面的最佳實踐和重大陷阱。

儘管這本書寫於1999年,但是它的概念是我們以一種務實的態度去開發複雜系統的基礎。程式設計師也是工匠,他們被訓練使用一組特定的工具(編輯器,物件管理,版本跟蹤器)生成某種可在一定環境中(硬體元件上的作業系統)工作的產品(程式)。

第三名:701票《計算機程式的構造和解釋》

10714192-1da97e2813e23d9c

以一種對解決問題和程式設計技術分析和嚴謹的態度,這本書面向於工程。這本書進一步解釋了4個最著名的程式語言正規化——指令式程式設計,物件導向程式設計,基於邏輯程式設計和應用性程式設計。

第四名:572票 《C程式設計語言》

10714192-377683abfd800f26

在計算機發展的歷史上,沒有哪一種程式設計語言像C語言這樣應用廣泛。

本書原著即為C語言的設計者之一Dennis M.Ritchie和著名電腦科學家Brian W.Kernighan合著的一本介紹C語言的權威經典著作。

我們現在見到的大量論述C語言程式設計的教材和專著均以此書為藍本。人們熟知的“hello,World"程式就是由本書首次引入的,現在,這一程式已經成為眾多程式設計語言入門的第一課。對於計算機從業人員來說,《C程式設計語言》是一本必讀的程式設計語 言方面的參考書。

第五名:481票 《演算法導論》

這本書深入淺出,全面地介紹了計算機演算法。對每一個演算法的分析既易於理解又十分有趣,並保持了數學嚴謹性。本書的設計目標全面,適用於多種用途。

涵蓋的內容有:演算法在計算中的作用,概率分析和隨機演算法的介紹。

書中專門討論了線性規劃,介紹了動態規劃的兩個應用,隨機化和線性規劃技術的近似演算法等,還有有關遞迴求解、快速排序中用到的劃分方法與期望線性時間順序統計演算法,以及對貪心演算法元素的討論。此書還介紹了對強連通子圖演算法正確性的證明,對哈密頓迴路和子集求和問題的NP完全性的證明等內容。

第六名:478票 《重構:改善既有程式碼的設計》

10714192-0a62e75bd26a3f61

Martin Fowler寫的《重構Refactoring》主要關於改進現有程式碼的設計。這是一個改變軟體系統而不改變程式碼的外部行為,卻能提高它內部結構的過程。

《重構:改善既有程式碼的設計》(中文版)的核心是一份完整的重構名錄(catalog of refactoring),其中每一項都介紹一種經過實證的程式碼變換手法(code transformation)的動機和技術。某些專案如Extract Method和Move Field看起來可能很淺顯,但不要小看它們,因為理解這類技術正是能否順利進行重構的關鍵。

第七名:447票 《人月神話》

10714192-a0f770750dac604b

這本書為人們管理複雜專案提供了頗具洞察力的見解,既有很多發人深省的觀點,也有大量的軟體工程實踐。書中的內容來自布魯克斯在IBM公司System 360家族和OS 360中的專案管理經驗。

10714192-88b80aa7fc7465b9
可掃描下方二維碼關注我公眾號
10714192-04b472866c06a2c0.jpg

最後還是要推薦下小編的C/C ++學習交流裙:567 625 668,不管你是小白還是大牛,小編我都歡迎,不定期分享乾貨,包括小編自己整理的一份2018最新的C/C ++和0基礎入門教程,歡迎初學和進階中的小夥伴。

相關文章