AICon 深圳站 Keynote 嘉宾官宣!共探AI价值转化的实践路径 了解详情
写点什么

有史以来最受欢迎的 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:087177
用户头像
小智 让所有人认同的文字称不上表达

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

关注

评论 1 条评论

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

手把手教你如何使用MyBatisPlus

Java你猿哥

mybatis 实战 Mybatis-Plus

开发和测试融合,到底该怎么做?

BY林子

敏捷开发 敏捷测试

矩阵佛萨奇(MetaForce)合约开发源码搭建

薇電13242772558

web3

大数据计算引擎 EasyMR:拥抱开源,引领技术创新

袋鼠云数栈

大数据 大数据基础平台

JAVA实战:如何让单元测试覆盖率达到80%甚至以上

Java你猿哥

Java ssm 单元测试 Java工程师 java实战

2023飞书未来无限大会谢欣演讲highlight:三件套、Office提升、出海

B Impact

瓴羊Quick BI数据门户,让管理企业像浏览网页一样轻松

对不起该用户已成仙‖

聊聊池化层和步长为2的卷积层

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 企业号 3 月 PK 榜 卷积层

gRPC快速整合SpringCloud

Java你猿哥

Java gRPC Spring Cloud 后端 ssm

ITSM | 如何通过设计提升工单处理效率

嘉为蓝鲸

IT ITSM 流程管理

XLD音频无损解码器:X Lossless Decoder中文激活版

真大的脸盆

Mac Mac 软件 音频解码 音频处理工具 音频管理

赋能数字经济新动能 焱融科技获评「人工智能高质量发展-行业责任担当」企业

焱融科技

人工智能 文件存储 容器存储 分布式文件存储 全闪存储

BugBuilder: 高质量大规模缺陷库自动构建方法

华为云开发者联盟

开发 华为云 补丁 华为云开发者联盟 企业号 3 月 PK 榜

直击面试!阿里技术官手码12W字面试小册在Github上爆火

Java你猿哥

Java 后端 面经 简历 Java工程师

蛇形走线用在哪里,一文告诉你

华秋PCB

信号 PCB PCB设计 布线 滤波

精华抢先看|龙蜥社区操作系统安全两大白皮书即将重磅发布

OpenAnolis小助手

操作系统 白皮书 系统安全 Meetup 龙蜥社区

在 Kubernetes 中部署应用交付服务(第 1 部分)

NGINX开源社区

【活动报名】 拥抱公平《 Impact Tech, She Can 》

亚马逊云科技 (Amazon Web Services)

人工智能

ChatGPT能否取代程序员?仍然是一个需要认真探讨的问题,对此你怎么看?

兴科Sinco

OpenAPI openai #人工智能 ChatGPT

小程序营销模板的发展现状及前景分析

没有用户名丶

小程序

开门见山|首期《崖山论“见”》技术 Meetup启程

YashanDB

优秀!阿里甩出GC面试小册,仅7天Github获赞96.9K

Java你猿哥

Java ssm 面经 GC Java工程师

MySQL中这14个小玩意,让人眼前一亮!

Java你猿哥

Java MySQL 后端 ssm Java工程师

2023年实用性好的堡垒机推荐

行云管家

网络安全 堡垒机

记一次 rr 和硬件断点解决内存踩踏问题

NebulaGraph

数据库 debug

电力行业等保定级评级依据是什么?分为几个等级?

行云管家

电力 等保 等保测评

模型训练过程中,混合精度训练稳定性解决方案

Openlab_cosmoplat

模型训练 开源社区

软件测试/测试开发丨app自动化测试之Appium 源码修改定制分析

测试人

软件测试 自动化测试 测试开发 appium

2023年好用的谷歌浏览器插件推荐(Chrome必备扩展程序) 安装教程

互联网搬砖工作者

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