有史以來最受歡迎的 25 本編程書籍

2020-12-14 InfoQ技術實驗室

推特上一位名為 Pierre de Wulf 的網友突發奇想,有史以來最受歡迎的編程書籍到底是哪些?為了找到程式設計師們最為推崇的那些編程書籍,他使用 Python編寫了腳本,拉取了大量的相關數據,最終得出了這 25 本技術好書。以下是推薦結果。

程式設計師修煉之道:從小工到專家

作者:David Thomas & Andrew Hunt,67% 推薦度

《程式設計師修煉之道》由一系列的獨立部分組成,涵蓋的主題從個人責任、職業發展,直到用於使代碼保持靈活、並且易於改編和復用的各種架構技術。利用許多富有娛樂性的奇聞軼事、有思想性的例子以及有趣的類比,全面闡釋了軟體開發的許多不同方面的最佳實踐和重大陷阱。無論你是初學者,是有經驗的程式設計師,還是軟體項目經理,本書都適合你閱讀。

代碼整潔之道

作者:Robert C. Martin,66% 推薦度

軟體質量,不但依賴於架構及項目管理,而且與代碼質量緊密相關。這一點,無論是敏捷開發流派還是傳統開發流派,都不得不承認。本書提出一種觀念:代碼質量與其整潔度成正比。乾淨的代碼,既在質量上較為可靠,也為後期維護、升級奠定了良好基礎。作為編程領域的佼佼者,本書作者給出了一系列行之有效的整潔代碼操作實踐。這些實踐在本書中體現為一條條規則(或稱「啟示」),並輔以來自現實項目的正、反兩面的範例。只要遵循這些規則,就能編寫出乾淨的代碼,從而有效提升代碼質量。

代碼大全(第 2 版)

作者:Steve McConnell,42% 推薦度

這是一本完整的軟體構建手冊,涵蓋了軟體構建過程中的所有細節。它從軟體質量和編程思想等方面論述了軟體構建的各個問題,並詳細論述了緊跟潮流的新技術、高屋建瓴的觀點、通用的概念,還含有豐富而典型的程序示例。這本書中所論述的技術不僅填補了初級與高級編程技術之間的空白,而且也為程式設計師們提供了一個有關編程技巧的信息來源。這本書對經驗豐富的程式設計師、技術帶頭人、自學的程式設計師及幾乎不懂太多編程技巧的學生們都是大有裨益的。可以說,無論是什麼背景的讀者,閱讀這本書都有助於在更短的時間內、更容易地寫出更好的程序。

重構:改善既有代碼的設計

作者:Martin Fowler,35% 推薦度

重構,一言以蔽之,就是在不改變外部行為的前提下,有條不紊地改善代碼。多年前,正是本書原版的出版,使重構終於從編程高手們的小圈子走出,成為眾多普通程式設計師日常開發工作中不可或缺的一部分。本書也因此成為與《設計模式》齊名的經典著作,被譯為中、德、俄、日等眾多語言,在世界範圍內暢銷不衰。

深入淺出設計模式

作者:Eric Freeman / Bert Bates / Kathy Sierra / Elisabeth Robson,29.4% 推薦度

《深入淺出設計模式》(影印版) 的編寫運用許多最新的研究,包括神經生物學、認知科學以及學習理論,這使得《深入淺出設計模式》(影印版) 能夠將這些設計模式深深地烙印在你的腦海中,不容易被遺忘。你將會更擅長於解決軟體設計中的問題,並能夠和你的團隊成員用模式的語言來更好地溝通。

人月神話

作者:Frederick P. Brooks Jr,27.9% 推薦度

作者為人們管理複雜項目提供了頗具洞察力的見解,既有很多發人深省的觀點,也有大量的軟體工程實踐。書中的內容來自布魯克斯在 IBM 公司 System 360 家族和 OS 360 中的項目管理經驗。初版的 20 年後,布魯克斯重新審視了他原先的觀點,增加了一些新的想法和建議。新增加的章節包括:原著中一些核心觀點的精華;在經過了一個時代以後,Brooks 博士對原先觀點新的認識;1986 年的經典文章《沒有銀彈》;對 1986 年所下論斷(在 10 年內不會出現銀彈)現在的認識。

程式設計師的職業素養

作者:Robert Martin,27.9% 推薦度

本書是編程大師 Bob 大叔 40 餘年編程生涯的心得體會, 講解成為真正專業的程式設計師需要什麼樣的態度、原則,需要採取什麼樣的行動。作者以自己以及身邊的同事走過的彎路、犯過的錯誤為例,意在為後來人引路,助其職業生涯邁上更高臺階。本書適合所有程式設計師,也可供所有想成為具備職業素養的職場人士參考。

修改代碼的藝術

作者:Michael Feathers,26.4% 推薦度

本書是繼《重構》和《重構與模式》之後探討修改代碼技術的又一裡程碑式的著作,書中不僅講述面向對象語言(Java、C#和 C++)代碼,也有專章討論 C 這樣的過程式語言。作者將理解、測試和修改代碼的原理、技術和最新工具(自動化重構工具、單元測試框架、仿對象、集成測試框架等),與解依賴技術和大量開發和設計優秀代碼的原則、最佳實踐相結合,許多內容非常深入,而且常常發前人所未發。書中處處體現出作者獨到的洞察力,以及多年開發和指導軟體項目所積累的豐富經驗和深厚功力。通過這部集大成之作,你不僅能掌握最頂尖的修改代碼技術,還可以大大提高對代碼和軟體開發的領悟力。

設計模式:可復用面向對象軟體的基礎

作者:Erich Gamma / Richard Helm / Ralph Johnson / John Vlissides,25% 推薦度

這本書結合設計實作例從面向對象的設計中精選出 23 個設計模式,總結了面向對象設計中最有價值的經驗,並且用簡潔可復用的形式表達出來。書中分類描述了一組設計良好、表達清楚的軟體設計模式,這些模式在實用環境下特別有用。此書適合大學計算機專業的學生、研究生及相關人員參考。書中涉及的設計模式並不描述新的或未經證實的設計,只收錄了那些在不同系統中多次使用過的成功設計。

程式設計師面試金典

作者:Gayle Laakmann McDowell,22% 推薦度

本書是原谷歌資深面試官的經驗之作,層層緊扣程式設計師面試的每一個環節,全面而詳盡地介紹了程式設計師應當如何應對面試,才能在面試中脫穎而出。第 1~7 章主要涉及面試流程解析、面試官的幕後決策及可能提出的問題、面試前的準備工作、對面試結果的處理等內容;第 8~9 章從數據結構、概念與算法、知識類問題和附加面試題 4 個方面,為讀者呈現了出自微軟、蘋果、谷歌等多家知名公司的 150 道編程面試題,並針對每一道面試題目,分別給出了詳細的解決方案。

11-25 名書籍詳情

軟技能 : 代碼之外的生存指南,22% 推薦度Soft Skills by John Sonmez點石成金 : 訪客至上的網頁設計秘笈,19.1% 推薦度Don’t Make Me Think by Steve Krug編碼,19.1% 推薦度Code by Charles Petzold算法導論,17.6% 推薦度Introduction to Algorithms by Thomas H. Cormen / Charles E. Leiserson / Ronald L. Rivest / Clifford Stein人件,17.6% 推薦度Peopleware by Tom DeMarco & Tim Lister編程珠璣,16.1% 推薦度Programming Pearls by Jon Bentley企業應用架構模式,14.7% 推薦度Patterns of Enterprise Application Architecture by Martin Fowler電腦程式的構造和解釋,13.2% 推薦度Structure and Interpretation of Computer Programs by Harold Abelson / Gerald Jay Sussman / Julie Sussman電腦程式設計藝術,10.2% 推薦度The Art of Computer Programming領域驅動設計 : 軟體核心複雜性應對之道,10.2% 推薦度Domain-Driven Design by Eric Evans編程人生 : 15 位軟體先驅訪談錄,推薦度 10.2%Coders at Work by Peter Seibel快速軟體開發 : 有效控制與完成進度計劃,推薦度 8.8%Rapid Development by Steve McConnellThe Self-Taught Programmer,8.8% 推薦度(暫無中文版)算法,8.8% 推薦度Algorithms by Robert Sedgewick & Kevin Wayne持續交付 : 發布可靠軟體的系統方法,8.8% 推薦度Continuous Delivery by Jez Humble & David Farley以上的編程經典,你看過哪幾本?還有哪些中文作者的編程書籍是你強烈推薦的?

關注我並轉發此篇文章,私信我「領取資料」,即可免費獲得InfoQ價值4999元迷你書!

相關焦點

  • 5本Python經典書籍推薦,你都讀過嗎?
    同時許多程式設計師都認為Python,是最適合作為入門的程式語言的。無論如何,毋庸置疑Python是一門非常流行的程式語言,目前它已成為是世界上第三大流行的程式語言,而且還不斷的增加。如果你想學習Python,網絡上有非常多的學習資料。
  • 免費的編程中文書籍索引
    今天給大家推薦一個免費的編程中文書籍索引。來我們看看都有什麼書籍吧!
  • 27本有史以來最重要的金融書籍 | 歐美好書推介
    備受尊崇的菲利普·費舍也是有史以來最具影響力的投資者之一。雖然他的投資理念已經提出快40年了,但它仍是今日許多金融和投資家研究、應用的理念,以及這本《怎樣選擇成長股》,也被許多人奉為圭臬。《股票作手回憶錄》自1923年首次出版以來,成為了歷史上受眾最多、最受推薦的投資書籍。世世代代的讀者們發現,該書不僅介紹了作者多年以來的經驗,更教會他們了解市場、了解人性。
  • 2020學習Java必看的3本書籍
    大家好,歡迎來到2020, 如果您正在考慮學習新事物或想要提高對Java基本技術的了解,那麼閱讀書籍絕對可以為您提供幫助。今天,我將分享過去幾年中一些最好的Java書籍,您可以在2018年閱讀這些書籍,以更好地學習Java和相關技術。1.
  • 最受歡迎的9個熱門編程難題網站,提高編程技能,讓你變得更優秀
    解決編程難題是一種發展邏輯和解決問題能力的有趣方法。另外,當你熟悉一種新的程式語言時,解決該語言的難題可以幫助加快學習過程。這裡是最受歡迎的9個 熱門編程難題網站,它們將幫助你測試思維並改善編程,問題解決和邏輯思維能力。
  • 有史以來最受歡迎的15部R級電影
    下面,我們列出了排名前15位的最受歡迎R級電影的排名,根據其美國國內票房排名。這是一個對觀眾真正感興趣的電影類型的簡潔概述,而這裡的內容多樣性證明了製作一部賺取巨額資金的R級電影有多難。4.小丑回魂(2017年)國內總計:327,481,748美元全球共計:700,381,748美元《小丑回魂》是有史以來恐怖電影最高開畫,人們知道這部電影邁過了巨大的挑戰。5.
  • JavaScript程式語言迎來了25周歲的生日
    儘管最初只是作為 Java 的一個附帶支持選項,但現年 25 周歲的 JavaScript,已經毫無疑問地成為了 Web / 瀏覽器應用程式中的一個重要組成部分。 值得一提的是,深受前端開發者喜愛的 JavaScript,還催生出了微軟 TypeScript 這個超集。
  • 有史以來25個最偉大的Java應用程式
    從太空探索到基因組學,從反向編譯器到機器人控制器,Java都是當今世界的核心程式語言。Java編程故事始於1991年,當時Sun Microsystems試圖將其在計算機工作站市場的領先地位擴展到迅速發展的個人電子產品市場。
  • 2020年度程式語言,月薪逼近20k!現在學還來得及
    TIOBE 本月公布了 2020 年度程式語言,Python 獲得四連冠,是過去一年中最受歡迎的程式語言。Python 在 2020 年實現了 2.01% 的正增長。    Python曾在 2007 年、2010 年、2018 年曾獲得過年度程式語言的稱號,如今再次拿下這個獎項,也是有史以來所有程式語言中囊獲該獎項最多的一種語言。
  • 推薦書單:最受歡迎4本女性勵志書籍,建議收藏!
    殊不知,女人可以通過自身的修煉和感悟,從容的面對生活中的波折,下面就由小編為您推薦幾本適合女性閱讀的勵志書籍。1.《風雨哈佛路》《風雨哈佛路》是美國著名的勵志演說家莉絲·默裡暢銷全球的自傳體小說。作品講述了一個成長在毒品、愛滋、飢餓纏繞的家庭環境中的貧窮女孩莉絲勇敢地克服重重困難,最終以優異的成績進入哈佛大學的勵志故事,震撼了世界無數人的靈魂,激勵了無數讀者的奮鬥之心。
  • 資料| 編程小白的第一本 Python 入門書
    以下書籍介紹來自異步社區介紹內容簡介 · · · · · ·既然笨辦法不能讓我學會 Python,那麼我決定用一種聰明方法來學,為自己創造學習的捷徑。這種高效學習法的核心在於:1、精簡:學習最核心的關鍵知識;2、理解:運用類比、視覺化的方法來理解這些核心知識;3、實踐:構建自己的知識體系之後,再通過實踐去逐漸完善知識體系。不寫字典式的知識體系,有些編程書像字典一樣,各種細枝末節的知識都涵蓋在內。但我認為,正如不應該讓小孩拿著字典學漢語,也不應該讓初學者拿著這樣的厚書學編程。
  • Java:一個失敗項目的副產品,再次出世,變身最受歡迎的程式語言
    說其偉大,是因為其最終孵化出了一門在十年後,長期雄霸最受歡迎程式語言榜首的程式語言,這就是今天的主角—— Java語言。 最關鍵的兩個問題是:單片式計算機系統的硬體資源的匱乏和消費電子產品所採用的嵌入式處理器晶片的種類繁雜導致的平臺差異。為了解決困難,最終決定改變工作計劃,開始著手研發適合未來應用場景的程式語言。
  • 2017-2020JS最受歡迎、全球活躍開發者1240萬,SlashData發布最新...
    機器之心報導機器之心編輯部在今年 5 月份的 中,JavaScript 連續八年榮登最常用程式語言榜首。在 7 月份的中,JavaScript 位列 top 10 程式語言榜單的第五名。
  • 有史以來20種最流行的視頻遊戲
    是否想知道有史以來最受歡迎的視頻遊戲?查看我們的列表,在該列表中我們排名了有史以來排名前20位的最受歡迎的視頻遊戲。對有史以來最受歡迎的視頻遊戲進行排名是一項艱巨的任務。輸入公式的變量太多。 在此列表中,我們決定對遊戲系列和單款遊戲(免費遊戲和付費遊戲),舊經典遊戲和新競爭對手進行排名。
  • 歐美有史以來最富有的運動員們
    今天我們來看看25位有史以來最富有的運動員。當然他們也為運動付出了很多心血! 韋恩·格雷茨基- 2億美元。 讓我們從有史以來最偉大的運動員之一開始:韋恩·格雷茨基,據統計,他是NHL運動史上最優秀的運動員。他是定義和普及曲棍球的人。 格雷茲因他的貢獻得到了豐厚的報酬。
  • 2017-2020 JS最受歡迎,SlashData發布最新開發者報告
    根據 SlashData 的調查結果顯示,JavaScript 仍然是最受歡迎的程式語言,其次是 Python,第三名是 Java。調查內容涵蓋了程式語言的受歡迎程度、開發者對開源軟體的態度、DevOps 的實際應用情況,以及容器等流行雲技術和 Kubernetes 等編排工具的使用情況。
  • 《Unreal Engine 4從入門到精通》國內首本UE4書籍面市
    Epic Games 公司為適應遊戲編程的特殊性需要而專門為虛幻系列遊戲引擎創建了 UnrealScript 程式語言,該語言讓遊戲引擎變得容易方便,因而虛幻遊戲引擎開始名聲大噪。2002 年,Epic 發布了 Unreal Engine 2,能夠對物體的屬性進行實時修改,也支持了當時的次世代遊戲機,PlayStation2、XBox 等。
  • 有史以來最偉大的NBA大前鋒排名第一期:25-20名都有誰?
    有史以來最偉大的NBA大前鋒排名第一期:25-20名都有誰? 美國著名籃球媒體Fadeaway World評選出了有史以來
  • 北大青鳥建大IT學院:JAVA為什麼能成為世界第一大程式語言?
    Java就是那個常常在TIOBE程式語言排行榜上霸佔第一名的軟體程式語言,是當今世界上第一大程式語言。那麼Java為什麼能成為世界第一大程式語言呢?1、Java的誕生Java誕生於20世紀90年代。網際網路依靠少數付費客戶來繼續為大多數用戶提供免費服務,造就了網際網路資源、用戶飛速的增長,以最短的時間改變了最多人的生活。但20多年前,微軟這樣的大企業壟斷著技術、工具等一切生產資料,想要使用開發程序就得接受工具要錢、服務要錢、資源要錢,而且你只能選擇微軟的產品,沒有貨比三家的權利。
  • 有史以來最暢銷的五款電子遊戲
    此列表中的大多數視頻遊戲價格都低於60美元,但自那以來它們一直是最暢銷的遊戲。您可能會驚訝地發現哪些遊戲在此列表中!5. PlayerUnknown的戰場(售出6000萬本)PlayerUnknown的Battlegrounds發行時以30歐元的價格售出。如果包括遊戲的免費版本,PlayerUnknown的Battlegrounds將擁有超過4億註冊玩家。