最常被程序员撒谎说读过的书籍!

马克·吐温曾经说过,所谓经典小说,就是指很多人希望读过,但很少人真正花时间去读的小说。

这种说法同样适用于“经典”的计算机书籍。

在知乎、StackOverflow 等平台上经常有诸如 :最常被程序员撒谎说读过的书籍!插图

最常被程序员撒谎说读过的书籍!插图1

这样的问题,往往会以不同的形式出现,但是大家可能会发现,有些书总是会出现在各个答主必读清单里。

实际上这些书有很大概率答主们也没有读过,接下来列举几本:

最常程序员们谎称读过的计算机书籍”

  1. 算法导论(Introduction to Algorithms)(CLRS)

    这本书的名称是所有出版过的计算机书籍中最让人误解一个。它被广泛的使用在很多大学里,通常被当作毕业生必需的算法课程。

    因为 ”Introduction” 这个词让人以为它很适合初级程序员。

    实际上不是,所以请不要再把这本书推荐给初学者。

  2. 编译原理(Compilers: Principles, Techniques, and Tools)(the Dragon Book)

    俗称龙书,这本恐龙封面的书涵盖了开发一个编译器你所需要的全部的知识。

    它的内容包括词汇分析,语法分析,类型检查,代码优化,以及其它很多高深的题目。

    请不要把这本书推荐给初级程序员,他们需要的只是分析简单的包含数学公式或 HTML 的字符串。

    除非你真的需要实现一个能够实用的编译器(或解释器),你根本不需要掌握这本“恐龙”书的全部强大威力。

    把它推荐给一个遇到简单文本分析问题的人,这证明你根本没有读过它。

  3. 计算机程序设计艺术(The Art of Computer Programming)(TAOCP)

    经常听到人们把这本书描述为“每个程序员必读”的系列计算机书籍。

    这本书毫无疑问是计算机领域为最为经典的书籍之一,但。。。它实在太难、太厚了,以至于现在还用来垫显示器。

    这本书也非常理论,里面的例子都是汇编语言的。

  4. 设计模式:可复用面向对象软件的基础(Gang of Four)

    Design Patterns 这本书的问题在于,很多书里给出的信息,你在其它很多地方都能看到。

    这样就使得一个初学者在网上随便读了几篇关于设计模式的内容后,就敢在面试中宣称自己看过这本书。

    这就是为什么 Singleton 成了一种新的全局变量的原因。

    如果有更多的人花时间读过这本也叫做 Gang of Four 的书的原著,那世界上就不会有这么多人会把 17 种设计模式硬塞到一个日志 (logging) 框架里了。

    这本书最精彩的部分是每章里描述如何正确的使用一种模式的段落。

    遗憾的是,这些精华却在很多其它设计模式资料里被漏掉了。

  5. C++程序设计语言(The C++ Programming Language)

    这本书不像一本编程教材,更像一本编程语言参考。

    有很多的迹象表明有人确实读过这本书,否则我们不可能有这么多的 C++ 编译器可选择。

    编程初学者(或者甚至其它语言的专家),如果想学 C++,不应该直接去啃这本书。

    告诉他们去读《C++ Primer中文版》。

正如之前说的,如果你真正的读过这些书。

那这篇文章不是针对你的,针对的是那些企图通过假装读过这些书来表现自己的同学。

如果你自己没有读过这些计算机书籍,请不要推荐给别人。

这样做会耽误别人的时间,误人子弟,因为一些阅历更丰富的人可能会有更好的书(更针对某一领域,更容易理解,和某种编程语言或某种编程水平更契合的书)来推荐。

发表评论

后才能评论