所有这些书看起来都非常非常古老。您难道不认为现在和写这本书之间有什么区别吗?
恕我直言,几十年来,非常好的书籍继续流行并不奇怪-这表明它们是多么的出色。但是我想我可以为您列出的每个候选人告诉您一些信息:
Code complete: 2nd edition = may, 2004
实际上,“ Code complete”的第一版是1993年发行的,因此这确实是一个“经典”版本。它是关于基本编码风格的,使用的示例几乎适用于C系列的每种编程语言,其中包含当今最流行的语言(C / C ++ / Java / C#/ Objective-C / D / ...)。是的,这本书是最新的。
Introduction to algorithms (Cormen, Leiserson, Rivest, Stein)
好吧,我实际上没有读过那本书(我的算法教科书来自“ Sedgewick”),但是学习算法和算法构建确实与语言无关。当然,由于您现在在标准库中发现了许多基本算法,因此最近几年该技巧被低估了,但是恕我直言,每个专业程序员都应该在这一领域具有一些基本知识。
The Pragmatic Programmer
这是一本关于编程技巧的非常好的书。语言不可知且非常最新,只要程序员使用文本编辑器,IDE,版本控制等将编程作为手动任务完成即可。
Structure and Interpretation of Computer Programs: = September 1, 1996
这是我个人的最爱,即使(或也许是因为)本书使用Scheme教您不同编程范例之间的差异。我不知道有哪本书对构建抽象有如此强烈的关注。构建抽象是一项关键能力,它使平庸的程序员和顶尖的程序员有所不同-在过去的几十年中,这没有改变,因此,这本书确实是永恒的。此外,功能语言和语言元素近来变得越来越流行,因此恕我直言,本书中提出的想法得到了复兴。
The C Programming Language
好吧,这本书可能没有其他四本书那么永恒。但是由于C就像我上面列出的所有那些流行语言的“母体”一样,因此阅读这本书也是一个好主意-我认为并没有真正更好的现代“ C”书。而且,如果您必须进行C ++代码的维护编程,这是由一个比C ++更好地了解C的人编写的,那么这本书是必须的。
最后,您所要求的书籍要考虑到更多的“当前现实”,而又不是太注重技术。那么什么是“当前现实”,什么在“非技术”方面发生了变化?以下是过去十年的一些观点,但并不表示这份清单是完整的或具有正确的优先次序。
- 存在更多的遗留代码(尤其是不仅在Fortran和Cobol中,而且在C ++和Java中都有更多的遗留代码)。
- 单元测试和TDD已变得越来越受欢迎。
- 还有更多可用的开源代码。
- OO越来越受到批评
(我在这里没有列出任何有关Web或App开发的信息,因为我认为该技术是特定的)。
对于主题1和主题2,都有不错的书,特别是2008年的“ Clean Code”和2004年的“有效处理遗留代码”。也许您正在寻找一些“较新的”书?