深度测评
在计算机书籍的世界里,大部分书试图用厚度来证明自己的价值。K&R走了一条相反的路——它用200多页讲完了别人一千页都未必讲清楚的事。全书从“hello, world”开始,一路讲到指针、结构体、系统调用,没有一句废话。有读者评价它“字字珠玑”,也有读者说它“充满炫技”。这两种评价恰好指向了同一种特质:这本书不是在教你“怎么用”,而是在向你展示“它本来就是这样”。
全书最核心的争议,其实是“写给谁看”的问题。许多读者直言它“不适合入门”,“对刚入门编程的人来说实在太难了”。书中的例子很多直接就是标准库的实现,习题难度大,对于一个刚学会
if-else这本书还有一个绕不开的话题:翻译。中文版译得“还可以”,但“有很多辞不达意的地方,有一些地方的意思还正好翻译成相反的了”。多位读者的共识是:能读英文版就读英文版。英文原版文字“比较浅显”,全书不到300页,读下来并不会太吃力。如果你一定要读中文版,建议找一份英文电子版作为对照。
四十多年过去,C语言已经有了很多变化,这本书中的一些写法“现在来看都不是那么好了”。但它的价值从未因此减损——它让你看到的不是“C语言的语法”,而是“C语言为什么长成这样”。那些关于指针、内存、系统调用的讲解,至今仍是理解计算机底层运作最好的入口之一。它不是一本可以躺着读完的书,而是一本需要你坐在书桌前、拿起笔、一行一行推演的书。但当你真正理解了指针的地址与解引用,当你终于读懂了一个复杂声明,你会明白——这本书不是在教你编程,而是在帮你建立一种“像计算机一样思考”的方式。
