世界顶级的程序员们都在读哪些书?
本文来源于:程序员书库(ID:OpenSourceTop)编译
书单来自:https://medium.com/@shvetsovdm/essential-books-that-every-programmer-should-read-a61565095781
读书,囤书,看看顶级程序员都在读哪些书。读过其中不少的书籍,都不愧为经典之作。
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叔是一大名鼎鼎软件工程师、作家、讲师等,其《代码整洁之道》相信许多程序员都拜读过。
罗伯特 C. 马丁
【英】设计模式和敏捷开发先驱,敏捷联盟首任主席
C++ Report前主编,被后辈程序员尊称为“Bob大叔”。20世纪7 0年代初成为职业程序员,后创办Object Mentor公司并任总裁。Martin还是一名多产的作家,至今已发表数百篇文章、论文和博客文章。
《代码整洁之道》
《代码整洁之道:程序员的职业素养》
那么,他会推荐什么书呢:
《设计模式》 豆瓣评分9.1
《计算机程序的构造和解释》 豆瓣评分 9.5
《计算机程序设计艺术》 豆瓣评分 9.5
《图灵的秘密》 豆瓣评分8.8
《重构 第2版》 豆瓣评分 9.2
《解析极限编程》豆瓣评分 8.2
《Redshirts》 豆瓣评分 8.4
《”Bobiverse“三部曲》
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
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版)
书名:《重构:改善既有代码的设计(第2版)》
作者:[美] 马丁·福勒(Martin Fowler)
译者:熊节 林从羽
重构20年,世界软件开发大师MartinFowler的不朽经典
生动阐述重构原理和具体做法,
普通程序员进阶到编程高手的修炼秘笈和代码整洁之道
这本备受关注的第2 版在第1 版的基础上做了全面修订,反映了编程领域业已发生的许多变化。第2 版中介绍的重构列表更加内聚,并用JavaScript 语言重写了代码范例。此外,第2 版中还新增了与函数式编程相关的重构范例,旨在教会读者如何在没有类的环境下开展重构。
02
代码整洁之道:程序员的职业素养
书名:《代码整洁之道:程序员的职业素养》
作者:[美] 罗伯特·C.马丁(Robert C.Martin)
译者:余晟 章显洲
代码整洁之道Clean Code姐妹篇
编程大师40余年心得体会 阐释软件工艺中的原理、技术、工具和实践
助力专业软件开发人员具备令人敬佩的职业素养
软件开发大师Robert C. Martin在书中介绍了真实软件技艺中的各项原则、技术、工具和实践,展示了怎么以自豪、自尊和自信的心态进行软件开发,怎么取得卓越表现和丰硕成果,怎么做到有效沟通和确切估算,怎么以坦诚的心态面对困难,并引导读者认识到专业程序员肩负的责任重大,阐述了什么才是程序员的职业素养。
03
软技能:代码之外的生存指南
书名:《软技能:代码之外的生存指南》
作者:[美] 约翰 Z.森梅兹(John Z.Sonmez)
译者:王小刚
软件行业泰斗级人物Martin和软件架构师Hanselman作序推荐
凸显技术中人的因素 讲解软件专业的所有软技能
John是软件开发人员的人生导师
这是一本真正从“人”(而非技术也非管理)的角度关注软件开发人员自身发展的书。书中论述的内容既涉及生活习惯,又包括思维方式,凸显技术中“人”的因素,全面讲解软件行业从业人员所需知道的所有“软技能”。
本书共分为职业篇、自我营销篇、学习篇、生产力篇、理财篇、健身篇、精神篇等七篇,概括了软件行业从业人员所需的“软技能”。通过阅读本书,软件工程人员、编程人员和其他技术人员能够积极思考自己的职业生涯,丰富自己的生活,让自己更接近成功。
04
代码整洁之道
书名:《代码整洁之道》
作者:[美] Robert C. Martin
译者:韩磊
捷软件开发系列作者
软件工程大师经典力作
互联网产品与运营专家韩磊献译
《代码整洁之道》提出一种观念:代码质量与其整洁度成正比。干净的代码,既在质量上较为可靠,也为后期维护、升级奠定了良好基础。作为编程领域的佼佼者,《代码整洁之道》作者给出了一系列行之有效的整洁代码操作实践。这些实践在《代码整洁之道》中体现为一条条规则(或称“启示”),并辅以来自现实项目的正、反两面的范例。只要遵循这些规则,就能编写出干净的代码,从而有效提升代码质量。
05
编程珠玑(第2版•修订版)
书名:《编程珠玑(第2版•修订版)》
作者:[美] 乔恩·本特利(Jon Bentley)
译者:黄倩 钱丽艳
20余年畅销不衰计算机科学的不朽经典
伟大的计算机科学著作之一
程序员推选的心爱计算机图书
讲解如何正确选择和高效地实现算法 基于C和C++语言编写
《编程珠玑(第2版·修订版)》是计算机科学方面的经典名著。书的内容围绕程序设计人员面对的一系列实际问题展开。作者JonBentley以其独有的洞察力和创造力,引导读者理解这些问题并学会解决方法,而这些正是程序员实际编程生涯中至关重要的。本书的特色是通过一些精心设计的有趣而又颇具指导意义的程序,对实用程序设计技巧及基本设计原则进行了透彻而睿智的描述,为复杂的编程问题提供了清晰而完备的解决思路。《编程珠玑(第2版·修订版)》对各个层次的程序员都具有很高的阅读价值。
机器学习与深度学习书单
01
深度学习
书名:《深度学习》
作者:【美】Ian Goodfellow(伊恩·古德费洛), 【加】Yoshua Bengio(约书亚·本吉奥), 【加】Aaron Courville(亚伦·库维尔)
译者:赵申剑 黎彧君 李凯 符天凡
AI圣经,deeplearning中文版,2018年图灵奖获奖者作品,业内人称“花书”
人工智能机器学习深度学习领域奠基性经典畅销书
本书囊括了数学及相关概念的背景知识,包括线性代数、概率论、信息论、数值优化以及机器学习中的相关内容。同时,它还介绍了工业界中实践者用到的深度学习技术,包括深度前馈网络、正则化、优化算法、卷积网络、序列建模和实践方法等,并且调研了诸如自然语言处理、语音识别、计算机视觉、在线推荐系统、生物信息学以及视频游戏方面的应用。最后,本书还提供了一些研究方向,涵盖的理论主题包括线性因子模型、自编码器、表示学习、结构化概率模型、蒙特卡罗方法、配分函数、近似推断以及深度生成模型。
02
人工智能(第2版)
书名:《人工智能(第2版)》
作者:[美] 史蒂芬·卢奇(Stephen Lucci),丹尼·科佩克(Danny Kopec)
译者:林赐
人工智能百科全书
易于上手的人工智能自学指南
涵盖机器学习 深度学习 自然语言处理 神经网络 计算机博弈等各种知识 图文详细 讲解细致 配备丰富的教学资源和学习素材
美国经典教材,在美亚上,被评价为自Russell & Norvig的《人工智能:一种现代方法》之后更好的教材,更加适合本科生使用。
本书是作者结合多年教学经验、精心撰写的一本人工智能教科书,堪称“人工智能的百科全书”。全书涵盖了人工智能简史、搜索方法、知情搜索、博弈中的搜索、人工智能中的逻辑、知识表示、产生式系统、专家系统、机器学习和神经网络、遗传算法、自然语言处理、自动规划、机器人技术、高级计算机博弈、人工智能的历史和未来等主题。
本书提供了丰富的教学配套资源,适合作为高等院校人工智能相关专业的教材,也适合对人工智能相关领域感兴趣的读者阅读和参考。
03
Python 神经网络编程
书名:《Python 神经网络编程》
作者:[英]塔里克·拉希德(Tariq Rashid)
译者:林赐
人工智能深度学习机器学习领域又一重磅力作
自己动手用Python编写神经网络
美亚排名前茅荣获众多好评 全彩印刷 图表丰富
本书将带领您进行一场妙趣横生却又有条不紊的旅行——从一个非常简单的想法开始,逐步理解神经网络的工作机制。您无需任何超出中学范围的数学知识,并且本书还给出易于理解的微积分简介。本书的目标是让尽可能多的普通读者理解神经网络。读者将学习使用Python开发自己的神经网络,训练它识别手写数字,甚至可以与专业的神经网络相媲美。