有史以来最受欢迎的 25 本编程书籍

2020 年 4 月 13 日 InfoQ

作者丨小智

一般来说,学习的过程发生并终结在购买这一步,而后再未捡起。

推特上一位名为 Pierre de Wulf 的网友突发奇想,有史以来最受欢迎的编程书籍到底是哪些?为了找到程序员们最为推崇的那些编程书籍,他使用 Python 编写了脚本,拉取了大量的相关数据,最终得出了这 25 本技术好书。以下是推荐结果。

https://github.com/daolf/Most-recommended-programming-books

1 程序员修炼之道:从小工到专家

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

《程序员修炼之道》由一系列的独立部分组成,涵盖的主题从个人责任、职业发展,直到用于使代码保持灵活、并且易于改编和复用的各种架构技术。利用许多富有娱乐性的奇闻轶事、有思想性的例子以及有趣的类比,全面阐释了软件开发的许多不同方面的最佳实践和重大陷阱。无论你是初学者,是有经验的程序员,还是软件项目经理,本书都适合你阅读。

2 代码整洁之道

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

软件质量,不但依赖于架构及项目管理,而且与代码质量紧密相关。这一点,无论是敏捷开发流派还是传统开发流派,都不得不承认。本书提出一种观念:代码质量与其整洁度成正比。干净的代码,既在质量上较为可靠,也为后期维护、升级奠定了良好基础。作为编程领域的佼佼者,本书作者给出了一系列行之有效的整洁代码操作实践。这些实践在本书中体现为一条条规则(或称“启示”),并辅以来自现实项目的正、反两面的范例。只要遵循这些规则,就能编写出干净的代码,从而有效提升代码质量。

3 代码大全(第 2 版)

作者:Steve McConnell,42% 推荐度

这是一本完整的软件构建手册,涵盖了软件构建过程中的所有细节。它从软件质量和编程思想等方面论述了软件构建的各个问题,并详细论述了紧跟潮流的新技术、高屋建瓴的观点、通用的概念,还含有丰富而典型的程序示例。这本书中所论述的技术不仅填补了初级与高级编程技术之间的空白,而且也为程序员们提供了一个有关编程技巧的信息来源。这本书对经验丰富的程序员、技术带头人、自学的程序员及几乎不懂太多编程技巧的学生们都是大有裨益的。可以说,无论是什么背景的读者,阅读这本书都有助于在更短的时间内、更容易地写出更好的程序。

4 重构:改善既有代码的设计

作者:Martin Fowler,35% 推荐度

重构,一言以蔽之,就是在不改变外部行为的前提下,有条不紊地改善代码。多年前,正是本书原版的出版,使重构终于从编程高手们的小圈子走出,成为众多普通程序员日常开发工作中不可或缺的一部分。本书也因此成为与《设计模式》齐名的经典著作,被译为中、德、俄、日等众多语言,在世界范围内畅销不衰。

5 深入浅出设计模式

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

《深入浅出设计模式》(影印版) 的编写运用许多最新的研究,包括神经生物学、认知科学以及学习理论,这使得《深入浅出设计模式》(影印版) 能够将这些设计模式深深地烙印在你的脑海中,不容易被遗忘。你将会更擅长于解决软件设计中的问题,并能够和你的团队成员用模式的语言来更好地沟通。

6 人月神话

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

作者为人们管理复杂项目提供了颇具洞察力的见解,既有很多发人深省的观点,也有大量的软件工程实践。书中的内容来自布鲁克斯在 IBM 公司 System 360 家族和 OS 360 中的项目管理经验。初版的 20 年后,布鲁克斯重新审视了他原先的观点,增加了一些新的想法和建议。新增加的章节包括:原著中一些核心观点的精华;在经过了一个时代以后,Brooks 博士对原先观点新的认识;1986 年的经典文章《没有银弹》;对 1986 年所下论断(在 10 年内不会出现银弹)现在的认识。

7 程序员的职业素养

作者:Robert Martin,27.9% 推荐度

本书是编程大师 Bob 大叔 40 余年编程生涯的心得体会, 讲解成为真正专业的程序员需要什么样的态度、原则,需要采取什么样的行动。作者以自己以及身边的同事走过的弯路、犯过的错误为例,意在为后来人引路,助其职业生涯迈上更高台阶。本书适合所有程序员,也可供所有想成为具备职业素养的职场人士参考。

8 修改代码的艺术

作者:Michael Feathers,26.4% 推荐度

本书是继《重构》和《重构与模式》之后探讨修改代码技术的又一里程碑式的著作,书中不仅讲述面向对象语言(Java、C# 和 C++)代码,也有专章讨论 C 这样的过程式语言。作者将理解、测试和修改代码的原理、技术和最新工具(自动化重构工具、单元测试框架、仿对象、集成测试框架等),与解依赖技术和大量开发和设计优秀代码的原则、最佳实践相结合,许多内容非常深入,而且常常发前人所未发。书中处处体现出作者独到的洞察力,以及多年开发和指导软件项目所积累的丰富经验和深厚功力。通过这部集大成之作,你不仅能掌握最顶尖的修改代码技术,还可以大大提高对代码和软件开发的领悟力。

9 设计模式:可复用面向对象软件的基础

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

这本书结合设计实作例从面向对象的设计中精选出 23 个设计模式,总结了面向对象设计中最有价值的经验,并且用简洁可复用的形式表达出来。书中分类描述了一组设计良好、表达清楚的软件设计模式,这些模式在实用环境下特别有用。此书适合大学计算机专业的学生、研究生及相关人员参考。书中涉及的设计模式并不描述新的或未经证实的设计,只收录了那些在不同系统中多次使用过的成功设计。

10 程序员面试金典

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

本书是原谷歌资深面试官的经验之作,层层紧扣程序员面试的每一个环节,全面而详尽地介绍了程序员应当如何应对面试,才能在面试中脱颖而出。第 1~7 章主要涉及面试流程解析、面试官的幕后决策及可能提出的问题、面试前的准备工作、对面试结果的处理等内容;第 8~9 章从数据结构、概念与算法、知识类问题和附加面试题 4 个方面,为读者呈现了出自微软、苹果、谷歌等多家知名公司的 150 道编程面试题,并针对每一道面试题目,分别给出了详细的解决方案。

11 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 McConnell

  • The Self-Taught Programmer,8.8% 推荐度(暂无中文版)

  • 算法,8.8% 推荐度

    Algorithms by Robert Sedgewick & Kevin Wayne

  • 持续交付 : 发布可靠软件的系统方法,8.8% 推荐度

    Continuous Delivery by Jez Humble & David Farley

以上的编程经典,你看过哪几本?还有哪些中文作者的编程书籍是你强烈推荐的?

欢迎留言一起讨论!


InfoQ 读者交流群上线啦!各位小伙伴可以扫描下方二维码,添加 InfoQ 小助手,回复关键字“进群”申请入群。大家可以和 InfoQ 读者一起畅所欲言,和编辑们零距离接触,超值的技术礼包等你领取,还有超值活动等你参加,快来加入我们吧!

点个在看少个 bug 👇

登录查看更多
0

相关内容

【实用书】Python机器学习Scikit-Learn应用指南,247页pdf
专知会员服务
257+阅读 · 2020年6月10日
【干货书】用于概率、统计和机器学习的Python,288页pdf
专知会员服务
281+阅读 · 2020年6月3日
【实用书】Python技术手册,第三版767页pdf
专知会员服务
229+阅读 · 2020年5月21日
Python导论,476页pdf,现代Python计算
专知会员服务
254+阅读 · 2020年5月17日
【干货书】机器学习Python实战教程,366页pdf
专知会员服务
332+阅读 · 2020年3月17日
机器学习速查手册,135页pdf
专知会员服务
336+阅读 · 2020年3月15日
《代码整洁之道》:5大基本要点
专知会员服务
49+阅读 · 2020年3月3日
【书籍推荐】简洁的Python编程(Clean Python),附274页pdf
专知会员服务
173+阅读 · 2020年1月1日
植树节,送 25 本AI & NLP & Python相关书籍
AINLP
20+阅读 · 2019年3月12日
上新 | 《中国地理必修课》,让孩子更懂中国
罗辑思维
3+阅读 · 2019年2月25日
《人工智能转型手册》,吴恩达 著
人工智能学家
21+阅读 · 2018年12月14日
各编程领域最好的入门书籍
程序猿
27+阅读 · 2018年7月29日
Python 如何快速入门?
大数据技术
11+阅读 · 2018年4月9日
福利 | 当Python遇上大数据与机器学习,入门so easy!
Python 书单:从入门到……
Linux中国
38+阅读 · 2017年8月6日
Arxiv
10+阅读 · 2019年2月19日
Arxiv
10+阅读 · 2019年1月24日
dynnode2vec: Scalable Dynamic Network Embedding
Arxiv
13+阅读 · 2018年12月6日
Arxiv
7+阅读 · 2018年6月8日
VIP会员
相关VIP内容
【实用书】Python机器学习Scikit-Learn应用指南,247页pdf
专知会员服务
257+阅读 · 2020年6月10日
【干货书】用于概率、统计和机器学习的Python,288页pdf
专知会员服务
281+阅读 · 2020年6月3日
【实用书】Python技术手册,第三版767页pdf
专知会员服务
229+阅读 · 2020年5月21日
Python导论,476页pdf,现代Python计算
专知会员服务
254+阅读 · 2020年5月17日
【干货书】机器学习Python实战教程,366页pdf
专知会员服务
332+阅读 · 2020年3月17日
机器学习速查手册,135页pdf
专知会员服务
336+阅读 · 2020年3月15日
《代码整洁之道》:5大基本要点
专知会员服务
49+阅读 · 2020年3月3日
【书籍推荐】简洁的Python编程(Clean Python),附274页pdf
专知会员服务
173+阅读 · 2020年1月1日
相关资讯
植树节,送 25 本AI & NLP & Python相关书籍
AINLP
20+阅读 · 2019年3月12日
上新 | 《中国地理必修课》,让孩子更懂中国
罗辑思维
3+阅读 · 2019年2月25日
《人工智能转型手册》,吴恩达 著
人工智能学家
21+阅读 · 2018年12月14日
各编程领域最好的入门书籍
程序猿
27+阅读 · 2018年7月29日
Python 如何快速入门?
大数据技术
11+阅读 · 2018年4月9日
福利 | 当Python遇上大数据与机器学习,入门so easy!
Python 书单:从入门到……
Linux中国
38+阅读 · 2017年8月6日
Top
微信扫码咨询专知VIP会员