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

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

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

inquestion:this "Code Complete"

当前回答

在过去的6个月里,用代码做梦可能是影响最深远的。

其他回答

学习c# 2005,由Jesse Liberty和Brian MacDonald (O'Reilly)编写。

Isbn 10: 0-596-10209-7。

当我第一次在VS2005中从ASP经典的过程代码跳到面向对象的c#代码时,这本书让我走上了正确的道路。

《极限编程:拥抱变化》作者:Kent Beck。虽然我不提倡在软件开发中采用硬核的xp或高速公路,但我希望在我的职业生涯中更早地向我介绍本书中的原则。单元测试、重构、简单性、持续集成、成本/时间/质量/范围——这些改变了我看待开发的方式。在敏捷出现之前,所有的一切都是关于调试器和对更改请求的恐惧。在敏捷开发之后,这些恶魔不再那么大了。

如果你在Unix/Linux/MacOS等环境下工作,你必须阅读已故W Richard Stevens的《Unix环境下的高级编程》(也被称为APUE)。如果你不知道文件描述符是如何工作的,或者什么是会话,或者当你守护自己的时候你应该做的所有事情(承认吧,你不知道),那么这本书会告诉你。

之后你会觉得有点不专业,但是如果你想在Unix环境下成为一个专业的程序员(任何语言),你需要阅读这篇文章。

我想到了三本书。

《Unix编程的艺术》作者:Eric S. Raymond。 Rick Cook编译的魔法。 Donald Knuth的《计算机编程的艺术》。

我也喜欢保罗·格雷厄姆的作品。

计算机科学家的离散数学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。

虽然这并没有教你编程,但它教会了你每个程序员都应该知道的基本数学。你可能还记得大学里的这些东西,但实际上,学习谓词逻辑会提高你的编程技能,如果你想用集合编程,你需要学习集合论。

这里确实有很多有趣的信息,可以让你从不同的角度思考问题。它很方便,只是偶尔拿起来学习一些新东西。