写点什么

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

  • 2020-04-09
  • 本文字数:2982 字

    阅读完需:约 10 分钟

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

推特上一位名为 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 McConnell

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

  • 算法,8.8%推荐度

  • Algorithms by Robert Sedgewick & Kevin Wayne

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

  • Continuous Delivery by Jez Humble & David Farley


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


欢迎留言一起讨论!


2020-04-09 15:087218
用户头像
小智 让所有人认同的文字称不上表达

发布了 408 篇内容, 共 402.6 次阅读, 收获喜欢 1986 次。

关注

评论 1 条评论

发布
用户头像
正在看编码:这本书简单到很容易翻完
2020-04-09 21:25
回复
没有更多了
发现更多内容

全流程多元化适配服务,OPPO Android 14 适配率高达98%!

科技热闻

Perforce发布《2023游戏开发与设计现状报告》,为游戏开发行业提供参考

龙智—DevSecOps解决方案

perforce 游戏开发与设计现状报告

如何利用动态配置中心在JavaAgent中实现微服务的多样化治理

华为云开发者联盟

云计算 后端 云服务 华为云 华为云开发者联盟

深入理解java和dubbo的SPI机制 | 京东物流技术团队

京东科技开发者

Java spi Dubbo SPI 企业号10月PK榜

软件测试/测试开发丨AI大模型应用开发实训营,文末领学习资料

测试人

人工智能 大数据 程序员 软件测试

Databend 开源周报第 113 期

Databend

什么是K-均值算法

小魏写代码

Eclipse、IntelliJ IDEA、PyCharm三种IDE区别

小齐写代码

IntelliJ IDEA安装教程

小齐写代码

聊聊JDK19特性之虚拟线程 | 京东云技术团队

京东科技开发者

Java JVM 虚拟线程 jdk19 企业号10月PK榜

【后台体验】运营后台订单详情设计分享 | 京东云技术团队

京东科技开发者

后台开发 后台管理系统 订单系统 企业号10月PK榜 运营后台

材质、纹理、贴图的区别和关联

3D建模设计

材质 纹理 贴图

小灯塔系列-中小企业数字化转型系列研究——CDP测评报告

人称T客

游戏和 NFT 的以太坊代币开发

区块链软件开发推广运营

交易所开发 dapp开发 区块链开发 链游开发 NFT开发

Spring AOP 中被代理的对象一定是单例吗?

江南一点雨

Java spring

80、90童年回忆之小霸王游戏机网页版

echeverra

小霸王

Programming abstractions in C阅读笔记:p166-p175

codists

用 TDengine 3.0 碰到“内存泄露”?定位问题原因很关键

TDengine

时序数据库 内存泄漏 ​TDengine

如何正确使用多线程和锁机制来构建可靠的程序

华为云开发者联盟

后端 多线程 开发 华为云 华为云开发者联盟

分布式事务:XA和Seata的XA模式 | 京东物流技术团队

京东科技开发者

分布式事务 seata XA 企业号10月PK榜

TimeWise-Jira工时管理插件6.0.0发布!对比测评某知名工时插件,谁的数据处理性能更胜一筹?

龙智—DevSecOps解决方案

TimeWise Jira工时管理插件

代码检查过程中为什么需要涉及到编译呢?

云计算 软件开发 华为云 代码检查

全国5000家金融单位将加入信创建设大军,未来数年发展关键期

没有用户名丶

深入浅出MySQL MRR(Multi-Range Read)

Java随想录

Java MySQL

一款Redis可视化工具:ARDM | 京东云技术团队

京东科技开发者

redis 可视化工具 企业号10月PK榜 ARDM

有史以来最受欢迎的25本编程书籍_文化 & 方法_小智_InfoQ精选文章