如果你能回到过去,告诉自己在开发人员职业生涯的开始读一本书,你会读哪本书?
我希望这份清单是多样的,涵盖范围很广。
搜索:使用右上角的搜索框。要搜索当前问题的答案,使用inquestion:this。例如:
inquestion:this "Code Complete"
如果你能回到过去,告诉自己在开发人员职业生涯的开始读一本书,你会读哪本书?
我希望这份清单是多样的,涵盖范围很广。
搜索:使用右上角的搜索框。要搜索当前问题的答案,使用inquestion:this。例如:
inquestion:this "Code Complete"
当前回答
这是一个非常丰富和有用的汇编,然而,我有点惊讶我没有在作者中遇到Andrew S. Tanenbaum。在我看来,他是最好的计算机科学教授之一,他的天才主要在于他能让计算机科学本科生理解相当难的材料。他的书(《现代操作系统》或《计算机网络》可能听起来耳熟)在我读学士学位时为我提供了计算机科学的坚实基础,我强烈推荐它们。 关于Tanenbaum的其他一些有趣的东西,证明了他的技能不仅仅是教学:一个名为MINIX的操作系统的作者——Linus在实现Linux时从它那里获得了灵感;Amoeba -分布式操作系统;无龟匿名p2p网络。
其他回答
对我影响最大的编程书籍是Allen Holub的《Enough Rope to Shoot Yourself in The Foot》。
书的封面http://ecx.images-amazon.com/images/I/71AE90J735L._SL500_AA240_.gif
哦,那是多久以前的事了。
代码完成是第一选择,但我也会引用Gang of Four的设计模式和Craig Larman的应用UML和模式。
克里斯托弗·亚历山大(Christopher Alexander)的《永恒的建筑方式》(The Timeless Way of Building)是另一个伟大的作品。尽管它是关于架构的,但它包含在我已经读过的许多优秀编程书籍的参考书目中。
另一本,我从中学到很多新东西,是克里夫顿·诺克的《数据访问模式》。
我已经有一段时间了,所以我发现的大多数有影响力的书在今天并不一定适用。我相信理解你所开发的平台(包括硬件和操作系统)是非常重要的。我也认为从别人的错误中学习很重要。所以我想推荐两本书:
计算灾难和寻找愚蠢:二十多年的高科技营销灾难
Steve Maguire的《调试开发过程:保持专注、完成发行日期和组建稳固团队的实用策略》。
不废话,接地气,有趣,深刻。
@Peter Coulton——你不是读Knuth,而是研究它。
对我和我的工作来说…纯函数式数据结构非常适合用函数式语言进行思考和开发。