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

在很早之前就想整理一份来自经验丰富的顶级程序员推荐阅读的书籍清单,全栈工程师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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/251871.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《20170911-构建之法:现代软件工程-阅读笔记》

第一章: 介绍软件工程和软件的关系,软件程序软件工程。 软件工程是把系统的、有序的、可量化的方法应用到软件的开发、运营和维护上的过程。 计算机科学这一学术领域可以分为以下这些偏理论的领域: 1.计算机理论 2.信息和编码理论 3.算法和数…

mysql学习(2)索引的本质

2019独角兽企业重金招聘Python工程师标准>>> 问题:SQL查询慢怎么办? 优化手段,加索引。 索引是帮助MYSQL高效的获取数据的排好序的数据结构。 问题:索引结构为什么使用Btree而不使用二叉树,红黑树或者HASH结…

bzoj4245: [ONTAK2015]OR-XOR

一道很有意思的题目。 先求一次前缀和,可以发现答案是 (sum[0] xor sum[x1])or(sum[x1] xor sum[x2])or(sum[x2] xor sum[x3])or……or(sum[m-1] xor sum[n]) 然后其实(a xor b)or b a or b 那么sum[0]0,可以把柿子变成 sum[x1] or sum[x2] o…

移动端常见的一些兼容性问题

1、安卓浏览器看背景图片,有些设备会模糊。 是devicePixelRatio作怪,因为手机分辨率太小,如果按照分辨率来显示网页,这样字会非常小,所以苹果当初就把iPhone 4的960*640分辨率,在网页里只显示了480*320&…

go-变量

这次我们学习一下golang语言 gitee: go-study 定义 定义的变量或者函数必须用到(pakeage内的全局除外) var a int // 默认为0 var b string //默认为"" fmt.Printf("%d %q\n",a, s) 复制代码直接定义可以不写类型(int..)go会自行判断 var a, b 3, 4 var …

CSS3:CSS3 文本效果

ylbtech-CSS3:CSS3 文本效果1.返回顶部 1、CSS3 文本效果 CSS3 文本效果 CSS3中包含几个新的文本特征。 在本章中您将了解以下文本属性: text-shadowbox-shadowtext-overflowword-wrapword-break浏览器支持 属性 text-shadow4.010.03.54.09.5box-sha…

洛谷 P2296 寻找道路

题目描述 在有向图G 中,每条边的长度均为1 ,现给定起点和终点,请你在图中找一条从起点到终点的路径,该路径满足以下条件: 1 .路径上的所有点的出边所指向的点都直接或间接与终点连通。 2 .在满足…

Feature Preprocessing on Kaggle

刚入手data science, 想着自己玩一玩kaggle,玩了新手Titanic和House Price的 项目, 觉得基本的baseline还是可以写出来,但是具体到一些细节,以至于到能拿到的出手的成绩还是需要理论分析的。 本文旨在介绍kaggle比赛到各种原理与技巧&#xf…

十天冲刺-04

昨天:完成了日历界面的部署,并且能够获取到选中的日期 今天:完成根据日期查找消费记录功能 问题:日历界面占用屏幕太多,后期会进行调整转载于:https://www.cnblogs.com/liujinxin123/p/10760254.html

构建Spring Boot程序有用的文章

构建Spring Boot程序有用的文章: http://www.jb51.net/article/111546.htm转载于:https://www.cnblogs.com/xiandedanteng/p/7508334.html

如果您遇到文件或数据库问题,如何重置Joomla

2019独角兽企业重金招聘Python工程师标准>>> 如果您遇到Joomla站点的问题,那么重新安装其核心文件和数据库可能是最佳解决方案。 了解问题 这种方法无法解决您的所有问题。但它主要适用于由Joomla核心引起的问题。 运行Joomla核心更新后,这些…

数组初始化 和 vector初始化

int result[256] {0}; 整个数组都初始化为0 vector<int> B(length,1); 整个vector初始化为1 如果你定义的vector是这样定义的&#xff1a; vector<int> B; 去初始化&#xff0c;千万不要用&#xff1a; for(int i 0;i < length;i)B[i] 1; 这样会数组越界&…

Genymotion模拟器拖入文件报An error occured while deploying the file的错误

今天需要用到资源文件&#xff0c;需要将资源文件拖拽到sd卡中&#xff0c;但老是出现这个问题&#xff1a; 资源文件拖不进去genymotion。查看了sd的DownLoad目录&#xff0c;确实没有成功拖拽进去。 遇到这种问题的&#xff0c;我按下面的思路排查问题&#xff1a; Genymotio…

激光炸弹(BZOJ1218)

激光炸弹&#xff08;BZOJ1218&#xff09; 一种新型的激光炸弹&#xff0c;可以摧毁一个边长为R的正方形内的所有的目标。现在地图上有n(N<10000)个目标&#xff0c;用整数Xi,Yi(其值在[0,5000])表示目标在地图上的位置&#xff0c;每个目标都有一个价值。激光炸弹的投放是…

/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15 not found

解决错误呈现该错误的原因是当前的GCC版本中&#xff0c;没有GLIBCXX_3.4.15&#xff0c;须要安装更高版本。我们可以输入&#xff1a;strings /usr/lib/libstdc.so.6 | grep GLIBCXX&#xff0c;查看当前的GCC版本&#xff0c;成果如下&#xff1a;GLIBCXX_3.4 GLIBCXX_3.4.1 …

用servlet设计OA管理系统时遇到问题

如果不加单引号会使得除变量和int类型的值不能传递 转发和重定向的区别 转发需要填写完整路径&#xff0c;重定向只需要写相对路径。原因是重定向是一次请求之内已经定位到了服务器端&#xff0c;转发则需要两次请求每次都需要完整的路径。 Request和response在解决中文乱码时的…

JDK源码——利用模板方法看设计模式

前言&#xff1a; 相信很多人都听过一个问题&#xff1a;把大象关进冰箱门&#xff0c;需要几步&#xff1f; 第一&#xff0c;把冰箱门打开&#xff1b;第二&#xff0c;把大象放进去&#xff1b;第三&#xff0c;把冰箱门关上。我们可以看见&#xff0c;这个问题的答案回答的…

[Usaco2010 Mar]gather 奶牛大集会

1827: [Usaco2010 Mar]gather 奶牛大集会 Time Limit: 1 Sec Memory Limit: 64 MB Submit: 1129 Solved: 525 [Submit][Status][Discuss]Description Bessie正在计划一年一度的奶牛大集会&#xff0c;来自全国各地的奶牛将来参加这一次集会。当然&#xff0c;她会选择最方便的…

与TIME_WAIT相关的几个内核参数

问题 公司用浏览器访问线上服务一会失败一会成功&#xff0c;通过ssh连接服务器排查时发现ssh也是这样&#xff1b; 检查 抓包后发现建立连接的请求已经到了服务器&#xff0c;但它没有响应&#xff1b; 纠结了好久&#xff0c;后来在腾讯云技术支持及查了相关资料后发现是开启…

View的绘制-layout流程详解

目录 作用 根据 measure 测量出来的宽高&#xff0c;确定所有 View 的位置。 具体分析 View 本身的位置是通过它的四个点来控制的&#xff1a; 以下涉及到源码的部分都是版本27的&#xff0c;为方便理解观看&#xff0c;代码有所删减。 layout 的流程 先通过 measure 测量出 Vi…