世界顶级的程序员们告诉你:这些书都是你应该读的-程序员宅基地

在很早之前就想整理一份来自经验丰富的顶级程序员推荐阅读的书籍清单,全栈工程师Dmitry Shvetsov整理了Bob叔以及Jeff Atwood and DHH等世界知名程序员曾经在博客中推荐过的书单,下面我们就一起来看看深受大神们青睐的书籍都是哪些?


世界顶级的程序员们告诉你:这些书都是你应该读的

Toptal公司副总裁Bozhidar Batsov在他的演讲中提到:作为一名程序员,需要掌握15本书:

  • 《Inside the Machine》美亚评分 4.6
  • 《代码大全》豆瓣评分 9.3
  • 《具体数学》豆瓣评分 9.6
  • 《计算机程序的构造和解释》豆瓣评分9.5
  • 《程序设计方法(中文版)》 豆瓣评分 8.7

Bozhidar认为,即使你有20年的编程经验,你也可以从上面的书中学到很多。

  • 《算法设计手册》和《算法》可以让你对算法有更好的理解
  • 想成为一名优秀的程序员一定要知道编译器是如何运行的《编译原理》
  • 每个程序员都应该懂点C语言《C程序设计语言》豆瓣评分 9.4
  • 《 UNIX环境高级编程(第3版)》豆瓣评分 9.5
  • 《UNIX网络编程卷2》豆瓣评分8.3

这些书对于优秀的开发人员来说都是必不可少的,而对于使用面向对象语言的程序员,Bozhidar建议:

  • 《测试驱动的面向对象软件开发》豆瓣评分 7.6
  • 《领域驱动设计》 豆瓣评分 8.1
  • 《编程格调 》原版豆瓣评分9.4

图1:世界顶级的程序员们告诉你:这些书都是你应该读的

众所周知Robert C. Martin,也就是Bob叔是一大名鼎鼎软件工程师、作家、讲师等,其《代码整洁之道》相信许多程序员都拜读过,那么,他会推荐什么书呢:

  • 《设计模式》 豆瓣评分9.1
  • 《计算机程序的构造和解释》 豆瓣评分 9.5
  • 《计算机程序设计艺术》 豆瓣评分 9.5
  • 《图灵的秘密》 豆瓣评分8.8
  • 《重构》 豆瓣评分 9.2
  • 《解析极限编程》豆瓣评分 8.2
  • 《Redshirts》 豆瓣评分 8.4
  • 《”Bobiverse“三部曲》

图2:世界顶级的程序员们告诉你:这些书都是你应该读的

Jeff Atwood,Stack Overflow和Discourse的联合创始人,他也分享了一些推荐给开发者的阅读清单:

  • 《代码大全(第2版)》 豆瓣评分 9.3
  • 《人月神话》 豆瓣评分 9.0
  • 《点石成金 : 访客至上的Web和移动可用性设计秘笈》 豆瓣评分 8.2
  • 《快速软件开发》 豆瓣评分 8.5
  • 《人件》 豆瓣评分 8.2
  • 《设计心理学》 豆瓣评分 8.2
  • 《About Face 4: 交互设计精髓》 豆瓣评分 8.6
  • 《软件创新之路》 豆瓣评分 8.5
  • 《编程珠玑》 豆瓣评分 9.1
  • 《程序员修炼之道》 豆瓣评分 8.8
  • 《Web可用性设计》 豆瓣评分 7.8
  • 《正则表达式经典实例》 豆瓣评分 7.0
  • 《The Visual Display of Quantitative Information》 豆瓣评分 9.1
  • 《Visual Explanations》 豆瓣评分 8.6
  • 《Envisioning Information》 豆瓣评分9 9.0
  • 《Beautiful Evidence》 豆瓣评分 8.8
  • 《软件研发之道》 豆瓣评分 8.2

图3:世界顶级的程序员们告诉你:这些书都是你应该读的

David Heinemeier Hansson,又名DHH, Ruby on Rails的创建者,Basecamp的创始人兼CTO,作家和演说家,分享了对他来说最重要的5本书:

  • 《Smalltalk Best Practice Patterns》
  • 《重构》 豆瓣评分 9.2
  • 《企业应用架构模式》 豆瓣评分 8.3
  • 《领域驱动设计》 豆瓣评分 8.1
  • 《你的灯亮着吗?》 豆瓣评分 8.1
  • 《风格的要素》 豆瓣评分 8.2
  • 《写作法宝》 豆瓣评分 8.5

这份书单里,有没有你最喜欢的书呢?如果没有,留言告诉我们对你影响最大的书籍有哪些?

需要更详细思维导图和视频资料的可以加一下技术交流分享群:“603619042”免费获取

同时我经过多年的收藏目前也算收集到了一套完整的学习资料,包括但不限于:分布式架构、高可扩展、高性能、高并发、Jvm性能调优、Spring,MyBatis,Nginx源码分析,Redis,ActiveMQ、、Mycat、Netty、Kafka、Mysql、Zookeeper、Tomcat、Docker、Dubbo、Nginx等多个知识点高级进阶干货,希望对想成为架构师的朋友有一定的参考和帮助



作者:Java高端架构老王
链接:https://juejin.im/post/5cc84cb6518825250e146c61
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


转载于:https://juejin.im/post/5cbf0ae66fb9a031ec6d2762

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_34355715/article/details/91417189

智能推荐

2022最新前端高频面试题总结_get post put delete面试题-程序员宅基地

文章浏览阅读1.2k次,点赞4次,收藏25次。前端高频55道面试题汇总,包含css,js,vue等等,自己总结,如有错误或者不足的地方欢迎指正,喜欢的话谢谢给个三连,阿里卡多!!!_get post put delete面试题

Java 计算两个日期的差值_chronounit.seconds.between-程序员宅基地

文章浏览阅读9.8k次,点赞6次,收藏12次。转载自:https://www.ripjava.com/article/1294911926173728叙述在这篇快速的文章中,我们将探讨Java中计算两个日期之间差值的一些方法。解决方案使用 java.util.Date让我们首先使用Java SE API计算两个日期之间的天数:@Testpublic void test_TwoDatesDiffBeforeJava8() throws ParseException { SimpleDateFormat sdf = n_chronounit.seconds.between

git checkout 出错原因 (error: pathspec 'master' did not match any file(s) known to )_$ git checkout -- zyq4.txt error: pathspec 'zyq4.t-程序员宅基地

文章浏览阅读3.5k次。git checkout 报错原因在一个空的目录中(/item)执行命令git init成功创建一个空的git仓库执行:git checkout -b dev成功创建一个dev分支现在想checkout到master分支执行:git checkout mster不好意思,突然报错了,是什么原因呢?错误信_$ git checkout -- zyq4.txt error: pathspec 'zyq4.txt' did not match any file

CodeIgniter URL添加后缀-程序员宅基地

文章浏览阅读163次。通过配置/application/config/config.php文件的$config['url_suffix']值,可以为CodeIgniter生成的URL添加一个指定的文件后缀,注意不要漏了点 $config['url_suffix'] = '.html';比如这个URL:example.com/index.php/products/view/shoes,如果配置后缀为html,那么跳转..._codeigniter 路由后缀

预留度数Rx表达式的推导_holladay 1公式怎么书写-程序员宅基地

文章浏览阅读646次。预留度数Rx表达式的推导1. sympy简介2. Holliday12.1 P的计算源码2.2 Rx表达式的推导3 HofferQ3.1 P的计算源码3.2 Rx表达式的推导1. sympy简介  sympy是Python中强大的符号运算包,可用于多种计算,如微积分运算、解方程、矩阵运算等  人工晶状体度数的计算代码参考R程序包enbrown/iol-calculations 1  安装该包的方法install.packages("devtools")library(devtools)inst_holladay 1公式怎么书写

html 3d转换动画,开源项目:CSS 3D转换和动画学习示例教程-程序员宅基地

文章浏览阅读130次。下面介绍的开源项目,是CSS在动画/3D变换方面的一些应用,非常酷的效果,全部由CSS3来实现。在这里JavaScript仅作为动画控制来使用,JS并不控制UI界面的具体呈现,切换动画、3D效果仅需要一条 addClass/removeClass即可。这在一定程度上体现了Web平台纯天然的MVC结构。即:HTML(template) + CSS(view) + JavaScript(control..._html3d换装源码

随便推点

【课程·研】自然辩证法 | 课堂汇报:工程师的伦理规范-程序员宅基地

文章浏览阅读9.1k次。本文主要内容:一、 讲稿全文1. 序言与分工2. 工程师的伦理规范定义2.1 工程伦理的解释2.2 工程伦理规范3. 工程师的伦理问题分析3.1 工程设计伦理问题3.2 工程安全伦理问题3.3 工程揭发伦理问题4. 工程师的伦理规范分析4.1 工程师的权利和责任4.2 应对职业行为中的伦理冲突4.3 工程师的伦理规范5. 总结与展望5.1 总结5.2 展望二、 PPT演示三、 文档下载

Nacos 在centos 7上启动报错 -Xms512m -Xmx512m -Xmn256m -Dnacos.standalone=true, 启动内存不够,修改nacos启动内存_centos nacos 修改内存-程序员宅基地

文章浏览阅读6k次。刚在centos 7上安装Nacos 时启动,发现报错了,看了报错信息,是启动内存不够,我们打开启动脚本查看了一下standalone代表着单机模式运行,非集群模式Xms 是指设定程序启动时占用内存大小Xmx 是指设定程序运行期间最大可占用的内存大小-Xmn 新生代的大小我们调整下 Xms 和 Xmx 的大小 ,进入 nacos bin目录下,执行sh startup.sh -m standalone访问 ip:8848/nacos 用户名 密码都是 na..._centos nacos 修改内存

【云计算的1024种玩法】搭建个人博客-程序员宅基地

文章浏览阅读134次。好吧,我承认您看了题目以后,可能就会很嫌弃的说,不就是一个博客吗,谁不会搞啊,某浪,某讯都有博客,注册一个博客谁还不会,用得着你教我嘛。您先静一静,喝口水压压惊,我们这里是帮您拥有一个属于您自己的不会冠以某浪某讯的title并且拥有更多freestyle的博客界面的博客,有点小心动的话,就去动手做一个吧。我和大家一起搭建博客平台,并发现一些小的技巧来丰富..._云计算搭建个人博客

ALSA driver---register card_snd_soc_register_card-程序员宅基地

文章浏览阅读961次。通过snd_soc_register_card来注册card,即注册整个machine driver.此函数接收一个参数 snd_soc_card:/* SoC card */struct snd_soc_card { const char *name; const char *long_name; const char *driver_name; ..._snd_soc_register_card

MQ选型对比RabbitMQ RocketMQ ActiveMQ Kafka(外加redis对比及其实现)_rabbitmq rocketmq kafka redis-程序员宅基地

文章浏览阅读258次。MQ选型对比RabbitMQ RocketMQ ActiveMQ Kafka(外加redis对比及其实现)rocketmq 4.3开始支持事务https://www.cnblogs.com/hzmark/p/rocket_txn.html参考:rabbitMQ、activeMQ、zeroMQ、Kafka、Redis 比较redis vs rabbitmq可靠消费Redis:没有相应的机制保证消息的消费,当消费者消费失败的时候,消息体丢失,需要手动处理RabbitMQ:具有消息消费确认,即使_rabbitmq rocketmq kafka redis

Adjusted frame length exceeds 4096: 5637 - discarded 服务端解决_io.netty.handler.codec.toolongframeexception: adju-程序员宅基地

文章浏览阅读2.4w次,点赞2次,收藏5次。解决服务端Adjusted frame length exceeds 4096: 5637 - discarded问题1. 具体错误2. 错误原因3. 解决方法1. 具体错误下面展示一些 错误详情。io.netty.handler.codec.TooLongFrameException: Adjusted frame length exceeds 4096: 18247 - discarde..._io.netty.handler.codec.toolongframeexception: adjusted frame length exceeds