如果你能回到过去,告诉自己在开发人员职业生涯的开始读一本书,你会读哪本书?
我希望这份清单是多样的,涵盖范围很广。
搜索:使用右上角的搜索框。要搜索当前问题的答案,使用inquestion:this。例如:
inquestion:this "Code Complete"
如果你能回到过去,告诉自己在开发人员职业生涯的开始读一本书,你会读哪本书?
我希望这份清单是多样的,涵盖范围很广。
搜索:使用右上角的搜索框。要搜索当前问题的答案,使用inquestion:this。例如:
inquestion:this "Code Complete"
当前回答
计算机科学家的离散数学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。
虽然这并没有教你编程,但它教会了你每个程序员都应该知道的基本数学。你可能还记得大学里的这些东西,但实际上,学习谓词逻辑会提高你的编程技能,如果你想用集合编程,你需要学习集合论。
这里确实有很多有趣的信息,可以让你从不同的角度思考问题。它很方便,只是偶尔拿起来学习一些新东西。
其他回答
Kernighan和Plauger的编程风格元素。 它说明了噱头-聪明和优雅-聪明之间的区别。
Donald Knuth写的《Literate Programming》,这是一本关于代码结构的好书。
托马斯·弗里德曼的《世界是平的》。
要想在编程方面取得卓越的成就,需要投入大量的精力和持续学习的精神,这与医学或法律专业不相上下。它所支付的工资只是这些职业的一小部分,更不用说那些进入金融业的数学高手了。编写代码的工资也在下降,因为在大多数经济体中,这是一个对聪明人和自律者来说相对容易进入的职业。
编程已经被侵蚀到比管道工作还便宜的地步。管道不能“外包”。你不需要每隔一年花2395美元参加一次专业管道工大会,就能获得一套全新的管道技术,这需要你花一年的时间来学习。
如果你生活在北美或欧洲,又年轻又聪明,编程并不是一个理性的职业选择。当然,涉及编程的业务。学习商业,了解足够多的编程知识来完善你的废话探测器:太棒了。但是把你大部分的精力都投入到掌握库、数据结构和算法上呢?只有当编程对你来说不仅仅是一种经济选择时,这才有意义。
如果你热爱编程,并因此打算把它作为你的职业,那么你就有必要冷静地认识到,这些力量正在并将继续使它成为一个越来越难谋生的职业。《世界是平的》不会教你如何给变量命名,但它会让你花6到8个小时沉浸在已经到来的经济现实中。如果你能读懂它,而且不害怕,那就去买《代码完成》吧。
Brian W. Kernighan和P. J. Plauger的《软件工具》对我影响最大。
我已经有一段时间了,所以我发现的大多数有影响力的书在今天并不一定适用。我相信理解你所开发的平台(包括硬件和操作系统)是非常重要的。我也认为从别人的错误中学习很重要。所以我想推荐两本书:
计算灾难和寻找愚蠢:二十多年的高科技营销灾难