作爲一個計算機專業的學生,除了教材,這些書籍你讀過多少?

       隨着越來越多的人開始接觸編程、學習編程,各種各樣的編程書籍也開始大賣,不少同學反映很多的書籍對學習的幫助不大,那麼哪些書籍對於學習編程的人來說是比較好的呢?

        國外知名網站stackoverflow上曾有一個問題調查:哪本書是對程序員最有影響、每個程序員都該閱讀的書,這個調查吸引了153,432人訪問,讀者共推薦出了478本書,其中最火的一本書已經被頂了1333次。

        如果你是個程序員,相信你一定有興趣看看這些書都是哪些?下面給大家分享Stack Overflow上最受歡迎的11本程序員書籍!

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

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

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

       第2版的《代碼大全》是對第一版完全進行了重寫;增加了很多與時俱進的內容。是一本完整的軟件構建手冊,涵蓋了軟件構建過程中的所有細節。它從軟件質量和編程思想等方面論述了軟件構建的各個問題,並詳細論述了緊跟潮流的新技術、高屋建瓴的觀點、通用的概念,還含有豐富而典型的程序示例。

       這本書中所論述的技術不僅填補了初級與高級編程技術之間的空白,而且也爲程序員們提供了一個有關編程技巧的信息來源。可以說,無論是什麼背景的讀者,閱讀這本書都有助於在更短的時間內、更容易地寫出更好的程序。

第二名:1181票 《程序員修煉之道》

      《程序員修煉之道》由一系列的獨立的部分組成,涵蓋的主題從個人責任、職業發展,直到用於使代碼保持靈活、並且易於改編和複用的各種架構技術。利用許多富有娛樂性的奇聞軼事、有思想性的例子以及有趣的類比,全面闡釋了軟件開發的許多不同方面的最佳實踐和重大陷阱。

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

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

       以一種對解決問題和編程技術分析和嚴謹的態度,這本書面向於工程。這本書進一步解釋了4個最著名的編程語言範式——命令式編程,面向對象編程,基於邏輯編程和應用性編程。

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

       在計算機發展的歷史上,沒有哪一種程序設計語言像C語言這樣應用廣泛。本書原著即爲C語言的設計者之一Dennis M.Ritchie和著名計算機科學家Brian W.Kernighan合著的一本介紹C語言的權威經典著作。

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

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

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

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

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

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

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

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

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

第八名:440票 中文版《設計模式》

       這本書結合設計實作例從面向對象的設計中精選出23個設計模式,總結了面向對象設計中最有價值的經驗,並且用簡潔可複用的形式表達出來。書中分類描述了一組設計良好、表達清楚的軟件設計模式,這些模式在實用環境下特別有用。此書適合大學計算機專業的學生、研究生及相關人員參考。

第九名:394票 《計算機程序設計藝術 (第一卷)》

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

       本書第1卷首先介紹編程的基本概念和技術,然後詳細講解信息結構方面的內容,包括信息在計算機內部的表示方法、數據元素之間的結構關係,以及有效的信息處理方法。此外,書中還描述了編程在模擬、數值方法、符號計算、軟件與系統設計等方面的初級應用。

第10名:364票 《編譯原理》

       這本書全面、深入地探討了編譯器設計方面的重要主題,包括詞法分析、語法分析、語法制導定義和語法制導翻譯、運行時刻環境、目標代碼生成、代碼優化技術、並行性檢測以及過程間分析技術,並在相關章節中給出大量的實例。與上一版相比,本書進行了全面的修訂,涵蓋了編譯器開發方面的最新進展。每章中都提供了大量的系統及參考文獻。

第11名:329票 《Head First 設計模式》

        看上去最不像技術的編程書籍!每個頁面都包含塗鴉、圖片以及其他一些吸引眼球的東西。可能給人的印象是一本閱讀起來很輕鬆的書,但事實上它會討論編程的一些核心主題——設計模式。

       這本書雖然沒有覆蓋所有存在於這個世界的模式,但是會涵蓋所有你可能需要用於解決現實問題的模式。它將幫助你創建功能性的,優雅的,可重用的和靈活的軟件。大多數關於設計模式的書籍談論的是如何實現模式,但這本書的作者同時還解釋了爲什麼以及怎麼樣。

        誠然這些書籍都是對以後的發展和學習有幫助的書籍,不過什麼時間看什麼書,學習怎麼樣的知識點還是需要注意的,畢竟每個時間大家的學習進度和需求都不一樣,適合自己的纔是最好的。

        這裏也是幫助大家整理了一些c/c++相關的知識點和項目實戰資料,感興趣的可以關注我的專欄更新或者私聊分享,加油,只有努力奮鬥過的人才有享受喜悅的資格。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章