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

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

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

inquestion:this "Code Complete"

当前回答

GW Basic简介。如果没有它,我永远不会学会如何编程,任何其他书籍也不会对我有任何好处。

其他回答

对我产生真正影响的第一本书是Tom Swan的Mastering Turbo Assembler。

其他有影响的书有Linus Torvalds和David Diamond的《Just For Fun》,当然还有Andrew Hunt和David Thomas的《The Pragmatic Programmer》。

c++中的算法对我学习大O符号和各种排序算法的来来去去是无价的。这本书在塞奇威克认为把它分成5本可以赚更多钱之前出版了。

c++ FAQs是一本神奇的书,它告诉你在c++中应该做什么,不应该做什么。c++的向后兼容性留下了很多“地雷”,这本书帮助人们小心地避免这些地雷,同时也很好地介绍了OO设计和意图。

令我惊讶的是,书中居然没有提到这本书:里奥·布罗迪(Leo Brodie)的《出发》(Starting Forth)。毕竟,Forth作为一种基于堆栈的语言,应该适合这个站点的用户……

不可否认,Forth是一种奇怪的语言,现在不太流行。但这本书读起来很有趣。它还有卡通!这本书和布罗迪的另一本书《思考》(Thinking Forth)都可以在网上免费获得。

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

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

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

专业JSP第二版

当我还是一个完全的新手时,我就买了这个,并在很短的时间内把我从只知道Java的存在变成了一个可靠的团队成员