当前位置: 首页 > news >正文

世界顶级的程序员们都在读哪些书?

本文来源于:程序员书库(ID:OpenSourceTop)编译

书单来自:https://medium.com/@shvetsovdm/essential-books-that-every-programmer-should-read-a61565095781

读书,囤书,看看顶级程序员都在读哪些书。读过其中不少的书籍,都不愧为经典之作。

640?wx_fmt=jpeg

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

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

640?wx_fmt=jpeg

罗伯特 C. 马丁

【英】设计模式和敏捷开发先驱,敏捷联盟首任主席

C++ Report前主编,被后辈程序员尊称为“Bob大叔”。20世纪7 0年代初成为职业程序员,后创办Object Mentor公司并任总裁。Martin还是一名多产的作家,至今已发表数百篇文章、论文和博客文章。

640?wx_fmt=jpeg

《代码整洁之道》

640?wx_fmt=jpeg

《代码整洁之道:程序员的职业素养》

那么,他会推荐什么书呢:

  • 《设计模式》 豆瓣评分9.1

  • 《计算机程序的构造和解释》 豆瓣评分 9.5

  • 《计算机程序设计艺术》 豆瓣评分 9.5

  • 《图灵的秘密》 豆瓣评分8.8

  • 《重构 第2版》 豆瓣评分 9.2

  • 《解析极限编程》豆瓣评分 8.2

  • 《Redshirts》 豆瓣评分 8.4

  • 《”Bobiverse“三部曲》

640?wx_fmt=jpeg

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

640?wx_fmt=jpeg

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

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



程序员素养书单

01

重构:改善既有代码的设计(第2版)

640?wx_fmt=jpeg

书名:《重构:改善既有代码的设计(第2版)》

作者:[美] 马丁·福勒(Martin Fowler)

译者:熊节  林从羽

  • 重构20年,世界软件开发大师MartinFowler的不朽经典

  • 生动阐述重构原理和具体做法,

  • 普通程序员进阶到编程高手的修炼秘笈和代码整洁之道

这本备受关注的第2 版在第1 版的基础上做了全面修订,反映了编程领域业已发生的许多变化。第2 版中介绍的重构列表更加内聚,并用JavaScript 语言重写了代码范例。此外,第2 版中还新增了与函数式编程相关的重构范例,旨在教会读者如何在没有类的环境下开展重构。

02

代码整洁之道:程序员的职业素养

640?wx_fmt=jpeg

书名:《代码整洁之道:程序员的职业素养》

作者:[美] 罗伯特·C.马丁(Robert C.Martin)

译者:余晟  章显洲

  • 代码整洁之道Clean Code姐妹篇

  • 编程大师40余年心得体会 阐释软件工艺中的原理、技术、工具和实践

  • 助力专业软件开发人员具备令人敬佩的职业素养

软件开发大师Robert C. Martin在书中介绍了真实软件技艺中的各项原则、技术、工具和实践,展示了怎么以自豪、自尊和自信的心态进行软件开发,怎么取得卓越表现和丰硕成果,怎么做到有效沟通和确切估算,怎么以坦诚的心态面对困难,并引导读者认识到专业程序员肩负的责任重大,阐述了什么才是程序员的职业素养。

03

软技能:代码之外的生存指南

640?wx_fmt=jpeg

书名:《软技能:代码之外的生存指南》

作者:[美] 约翰 Z.森梅兹(John Z.Sonmez)

译者:王小刚


软件行业泰斗级人物Martin和软件架构师Hanselman作序推荐

  • 凸显技术中人的因素 讲解软件专业的所有软技能

  • John是软件开发人员的人生导师

这是一本真正从“人”(而非技术也非管理)的角度关注软件开发人员自身发展的书。书中论述的内容既涉及生活习惯,又包括思维方式,凸显技术中“人”的因素,全面讲解软件行业从业人员所需知道的所有“软技能”。

本书共分为职业篇、自我营销篇、学习篇、生产力篇、理财篇、健身篇、精神篇等七篇,概括了软件行业从业人员所需的“软技能”。通过阅读本书,软件工程人员、编程人员和其他技术人员能够积极思考自己的职业生涯,丰富自己的生活,让自己更接近成功。

04

代码整洁之道

640?wx_fmt=jpeg

名:《代码整洁之道》

作者:[美] Robert C. Martin

译者:韩磊

  • 捷软件开发系列作者

  • 软件工程大师经典力作

  • 互联网产品与运营专家韩磊献译

《代码整洁之道》提出一种观念:代码质量与其整洁度成正比。干净的代码,既在质量上较为可靠,也为后期维护、升级奠定了良好基础。作为编程领域的佼佼者,《代码整洁之道》作者给出了一系列行之有效的整洁代码操作实践。这些实践在《代码整洁之道》中体现为一条条规则(或称“启示”),并辅以来自现实项目的正、反两面的范例。只要遵循这些规则,就能编写出干净的代码,从而有效提升代码质量。

05

编程珠玑(第2版•修订版)

640?wx_fmt=jpeg

书名:《编程珠玑(第2版•修订版)》

作者:[美] 乔恩·本特利(Jon Bentley)

译者:黄倩 钱丽艳

  • 20余年畅销不衰计算机科学的不朽经典

  • 伟大的计算机科学著作之一

  • 程序员推选的心爱计算机图书

  • 讲解如何正确选择和高效地实现算法 基于C和C++语言编写

《编程珠玑(第2版·修订版)》是计算机科学方面的经典名著。书的内容围绕程序设计人员面对的一系列实际问题展开。作者JonBentley以其独有的洞察力和创造力,引导读者理解这些问题并学会解决方法,而这些正是程序员实际编程生涯中至关重要的。本书的特色是通过一些精心设计的有趣而又颇具指导意义的程序,对实用程序设计技巧及基本设计原则进行了透彻而睿智的描述,为复杂的编程问题提供了清晰而完备的解决思路。《编程珠玑(第2版·修订版)》对各个层次的程序员都具有很高的阅读价值。

机器学习与深度学习书单

01

深度学习

640?wx_fmt=jpeg

书名:《深度学习》

作者:【美】Ian Goodfellow(伊恩·古德费洛), 【加】Yoshua Bengio(约书亚·本吉奥), 【加】Aaron Courville(亚伦·库维尔)

译者:赵申剑  黎彧君 李凯 符天凡

  • AI圣经,deeplearning中文版,2018年图灵奖获奖者作品,业内人称“花书”

  • 人工智能机器学习深度学习领域奠基性经典畅销书

本书囊括了数学及相关概念的背景知识,包括线性代数、概率论、信息论、数值优化以及机器学习中的相关内容。同时,它还介绍了工业界中实践者用到的深度学习技术,包括深度前馈网络、正则化、优化算法、卷积网络、序列建模和实践方法等,并且调研了诸如自然语言处理、语音识别、计算机视觉、在线推荐系统、生物信息学以及视频游戏方面的应用。最后,本书还提供了一些研究方向,涵盖的理论主题包括线性因子模型、自编码器、表示学习、结构化概率模型、蒙特卡罗方法、配分函数、近似推断以及深度生成模型。

02

人工智能(第2版)

640?wx_fmt=jpeg

书名:《人工智能(第2版)》

作者:[美] 史蒂芬·卢奇(Stephen Lucci),丹尼·科佩克(Danny Kopec)

译者:林赐

  • 人工智能百科全书

  • 易于上手的人工智能自学指南

  • 涵盖机器学习 深度学习 自然语言处理 神经网络 计算机博弈等各种知识 图文详细 讲解细致 配备丰富的教学资源和学习素材

美国经典教材,在美亚上,被评价为自Russell & Norvig的《人工智能:一种现代方法》之后更好的教材,更加适合本科生使用。

本书是作者结合多年教学经验、精心撰写的一本人工智能教科书,堪称“人工智能的百科全书”。全书涵盖了人工智能简史、搜索方法、知情搜索、博弈中的搜索、人工智能中的逻辑、知识表示、产生式系统、专家系统、机器学习和神经网络、遗传算法、自然语言处理、自动规划、机器人技术、高级计算机博弈、人工智能的历史和未来等主题。

本书提供了丰富的教学配套资源,适合作为高等院校人工智能相关专业的教材,也适合对人工智能相关领域感兴趣的读者阅读和参考。

03

Python 神经网络编程

640?wx_fmt=jpeg

书名:《Python 神经网络编程》

作者:[英]塔里克·拉希德(Tariq Rashid)

译者:林赐

  • 人工智能深度学习机器学习领域又一重磅力作

  • 自己动手用Python编写神经网络

  • 美亚排名前茅荣获众多好评 全彩印刷 图表丰富

本书将带领您进行一场妙趣横生却又有条不紊的旅行——从一个非常简单的想法开始,逐步理解神经网络的工作机制。您无需任何超出中学范围的数学知识,并且本书还给出易于理解的微积分简介。本书的目标是让尽可能多的普通读者理解神经网络。读者将学习使用Python开发自己的神经网络,训练它识别手写数字,甚至可以与专业的神经网络相媲美。

相关文章:

  • 最近养了几只小乌龟
  • 周末充电学习的感悟
  • 重新理解我们的核心价值
  • MySQL中的并发控制概览
  • 孙小果案中四个人的人生
  • MySQL中需要重视的隐式转换
  • 数据生命周期管理的初步设计
  • 颠覆我们的,可能就是那些差不多的事情
  • 因子分析的一个小例子
  • 最近在读的文章
  • 简单线性回归分析
  • 2000天带给我的回忆
  • 建模能力是进阶的必备技能
  • 推荐几个统计数据的网站
  • 相关分析的简单示例
  • Fastjson的基本使用方法大全
  • IE报vuex requires a Promise polyfill in this browser问题解决
  • js操作时间(持续更新)
  • Redux 中间件分析
  • webpack4 一点通
  • 彻底搞懂浏览器Event-loop
  • 从零开始的无人驾驶 1
  • 前端相关框架总和
  • 实现简单的正则表达式引擎
  • 携程小程序初体验
  • 优秀架构师必须掌握的架构思维
  • PostgreSQL 快速给指定表每个字段创建索引 - 1
  • 数据库巡检项
  • 我们雇佣了一只大猴子...
  • !!Dom4j 学习笔记
  • #HarmonyOS:软件安装window和mac预览Hello World
  • ${ }的特别功能
  • (4)事件处理——(7)简单事件(Simple events)
  • (42)STM32——LCD显示屏实验笔记
  • (C语言)strcpy与strcpy详解,与模拟实现
  • (NSDate) 时间 (time )比较
  • (Oracle)SQL优化技巧(一):分页查询
  • (分享)自己整理的一些简单awk实用语句
  • (十一)图像的罗伯特梯度锐化
  • (实战篇)如何缓存数据
  • (原创)Stanford Machine Learning (by Andrew NG) --- (week 9) Anomaly DetectionRecommender Systems...
  • .Mobi域名介绍
  • .net core MVC 通过 Filters 过滤器拦截请求及响应内容
  • .net 反编译_.net反编译的相关问题
  • .Net 应用中使用dot trace进行性能诊断
  • .NET 中什么样的类是可使用 await 异步等待的?
  • @hook扩展分析
  • @RequestMapping用法详解
  • [20170705]lsnrctl status LISTENER_SCAN1
  • [autojs]autojs开关按钮的简单使用
  • [BT]小迪安全2023学习笔记(第15天:PHP开发-登录验证)
  • [C++数据结构](31)哈夫曼树,哈夫曼编码与解码
  • [CUDA手搓]从零开始用C++ CUDA搭建一个卷积神经网络(LeNet),了解神经网络各个层背后算法原理
  • [HNOI2006]鬼谷子的钱袋
  • [iOS]中字体样式设置 API