每个程序员都应该阅读哪本最有影响力的书?

1436

如果你可以回到过去,告诉自己在作为开发人员的职业生涯初期阅读某一本特定的书,那会是哪一本书呢?

我希望这个列表能够涵盖各种各样的内容。

搜索:使用右上角的搜索框。要搜索当前问题的答案,请使用inquestion:this。例如:

inquestion:this "Code Complete"

8
浏览这个帖子让我意识到大多数与编程有关的书籍是多么丑陋。不过,这个帖子很好! - Carl Bergquist
23
虽然标题写着“每个程序员都应该读哪本最有影响力的书?”,但是推荐的书籍中有很多涉及特定编程语言的主题。根据定义和问题的设置,这里建议的书籍应该涉及语言无关的主题,由此证明大多数程序员还没有学会如何阅读。 - Rook
19
如果我能回到过去,告诉自己读点什么,那最好是带在身边的报纸或者体育事实书。其他的都浪费了这个好好利用时光旅行的机会。 :-) - jmucchiello
32
要是我不担心会被大量踩,我就要恶意地建议《暮光之城》了。 “它也是关于皮肤苍白、避免阳光的人!” - Jacob Bellamy
3
有人可以通过删除重复条目来清理书籍答案吗?其中大部分已经被投下反对票。 - rao
显示剩余23条评论
214个回答

9

辉煌的书封面展示了“圣家堂”,这是一座正在建设中的罗马天主教大教堂,位于西班牙加泰罗尼亚巴塞罗那。预计将在2026年完工(只剩下17年)。像大多数程序一样,即使有最好的书籍,它们也永远无法完成... - PeterMmm

9

离散数学与计算机科学 http://ecx.images-amazon.com/images/I/51HCJ5R42KL._SL500_BO2,204,203,200_AA219_PIsitb-sticker-dp-arrow,TopRight,-24,-23_SH20_OU02_.jpg

《离散数学与计算机科学》作者:J.K. Truss。

虽然这本书不会教你编程,但它教授了每个程序员都应该知道的基础数学知识。你可能还记得这些内容是从大学学来的,但实际上,做谓词逻辑可以提高你的编程技能,如果你想使用集合进行编程,就需要学习集合论。

这本书中真的有很多有趣的信息,可以让你以不同的方式思考问题。它很方便,只需偶尔拿起来学习一些新东西就可以了。


9

K&R

@Juan: 我知道Juan,我知道 - 但有些东西只有通过实际任务才能学到。整天讲抽象理论只会让你成为一个学者。只有将抽象理论应用于实践中,我们才能真正领悟它们存在的原因。 :P

@Keith: 非常感谢提到Alan Cooper的《疯人院在操纵》- 这本书真是开了眼界,自从我读过这本书后与我一起工作的任何开发人员都听我提到了它所阐述的思想。+1


9

人工智能编程范例:Peter Norvig用Common Lisp案例研究

enter image description here

我开始阅读这本书是因为我想学习Common Lisp。当我看到一半时,我意识到这是迄今为止我读过的最好的关于编程的书籍。


8

8

个性和生活方式必须放在第一位,其他一切可以学习。


8
Python语言对我影响很大,希望我能在几年前就读到这些书。Python语言的美丽和简洁真正影响了我写其他语言的代码。 alt text alt text

2
我认为用Python来开始培养新程序员,可以减少世界上丑陋代码的数量。我和一个人一起工作,他随意缩进代码行——如果他之前几个月使用Python工作过,他就不会这样做了。 - xnine
6
我认为用Python作为新程序员的起点会减少其他编程语言的使用量。 - Marco Mariani
2
这些封面是巧合吗? - Kelly S. French

8

alt text

去年我上了很多课。我读了:

《创新者的窘境》(颠覆性技术)
《神话般的人月神话》(软件管理)
《跨越鸿沟》(创业)
《数据库管理系统,The COW Book》
《Programming C#,The OSTRICH Book》
《Beginning iPhone Developmen,The GRAPEFRUIT Book》

每本书都很棒,但是克莱顿·克里斯滕森(1997年!)的《创新者的窘境》真的是一本很棒的书,它让我对现代软件世界有了新的思考。这本书探讨的挑战是颠覆性技术,以及磁盘驱动器公司和非技术公司总是被新的、改变游戏规则的技术所颠覆。当我们思考谷歌时,可能是最大的“网络”公司,这本书给我们带来了新的视角。为什么他们涉足于每一个领域?因为他们不想让自己的位置被新事物所颠覆。在谷歌上可以找到预览内容,读一下吧!


我认为这本书有些重复了。我建议读前四分之一。 - Ben Haley



网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接