如果你能回到过去,告诉自己在开发人员职业生涯的开始读一本书,你会读哪本书?

我希望这份清单是多样的,涵盖范围很广。

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

inquestion:this "Code Complete"

当前回答

数据库系统概念是你在理解好的数据库设计原则方面可以阅读的最好的书籍之一。

其他回答

TCP/IP指南,Charles M. Kozierok著

虽然它被描述为“百科全书式的参考”,但作为一种叙述,它是令人难以置信的可读性。

作者提供了一个非常,非常,非常好的写作,全面的,介绍网络和基础设施的网络。这是所有程序员都应该知道的。

对我来说,这是查尔斯·佩佐德(Charles Petzold)《密码》(Code)的自然续集。如果说“代码”向外行解释了计算机如何工作,那么“TCP/IP指南”解释了计算机如何连接在一起。

如果你给一个12岁的极客一份“代码”和一份“TCP/IP指南”,他们在17岁的时候就能构建出下一个谷歌。

换句话说,如果我能回到过去,告诉自己在我作为开发人员的职业生涯开始时读一本特定的书,这本书(加上代码)就会在我的清单上名列前茅。

我读了大部分在这个问题上得分很高的书,但不是所有的书(感谢上帝!),我马上把其他的书加入了我的亚马逊愿望清单!

(有人应该在亚马逊上为这些书列个清单……也许是一个名为“Stackoverflow有史以来最好的书”的列表?有人知道怎么做吗?)

对我来说,最好的书是《代码完成》。这是一个启示。我买了英语版的第二版,然后是法语版,我仍然认为它应该是任何计算机科学学校的必读书目。数据结构很酷,但代码完整,不是开玩笑,更重要的是…

然后,我的第二本最好的书是《编写可靠的代码》——在学习了如何被理解之后,知道如何编写可靠的代码是非常棒的。

还有很多非常好的书,但这里没有一本值得一提。直到2001年,我认为:框架设计指南:可重用。net库的约定、习惯用法和模式。一个珍宝!这本书我读了很多遍,现在还放在我的桌子上,就在我的液晶显示器旁边,还有《代码完成》(真的!)我喜欢它的写作方式(喜欢这里和那里添加的评论-书都应该这样写!)

但是,我忘记了我读过的第一本书!是他们让我充满激情地爱上了计算机科学:

计算!(C64杂志-永远不会忘记吉姆蝴蝶:o) Borland c++用户指南(旧的,大约1991年,那些试图引入面向对象编程的人,写得非常好)。 大多数微软开发工具用户指南,大约在1990-1995年。不知道是谁写的,但他们很酷!我记得我在周六的深夜读过它们……

问得好:o)

这不是一本严格意义上的开发书籍,我相信我在其他地方提到过它,但我真的认为所有开发人员都应该读这本书,从php到Java再到汇编开发人员。

Code

它汇集了计算机的底层原理,为什么不应该浪费内存,以及计算史上一些更有趣的部分。这是对计算机及其内容的介绍。它让我对低级编程产生了极大的热情,并且比其他任何计算机都更能帮助我理解指针和内存。

我写的是“实例测试驱动开发”

应用UML和设计模式。

它帮助我设计模式,并在“UML as Sketch”的措辞中为我提供了一个对UML有意义的理由。也就是说,UML应该被用作系统的一个简要草图,这样你就不必向别人解释符号(他们要么已经知道UML,要么你给他们一本UML的书来读)。