K&R的世界
2007-10-04
B5纸的开本,除去附录,这是一本不到200页的小书。根据我20年的读书经验,图书分类上最大的缺陷之一就是没有首先把书分为两类:可以睡前躺在床上看的书和不能躺在床上看的书——因为很多书太重。绝大多数计算机类书籍属于后者,这本书则属于前一类,传递着一种简单、优雅、平实和闲适。
难以置信的是,这样一本C语言的入门书籍,从hello world开始讲起,却在短小的篇幅里,手把手教你写了stdio.h stdlib.h string.h当中大部分例程,实现了二分查找、快速排序、二叉树、哈希表这些重要的数据结构和算法。甚至为了解释让人头疼的复杂声明,写了一个递归下降的parser来帮助理解。在读这本书的时候,你不觉得这是一个书斋中的学究,试图“教”你什么,而是作为C语言和UNIX系统设计者的K&R,惬意地带着我们后来者漫游他们的世界,因此,他们的介绍如同闲庭信步,而实用的例子也是信手拈来。
这是一本programmer写给programmer看的书。世界真是不公平,与这本书的简洁和实用相比,我们可以看到多少技术作者。或醉心于细节不能自拔,或缺少实际经验而只能纸上谈兵。他们的一切殚精竭虑和呕心沥血,也只能毁人无数而已。