我期望的《编程之美》

2008-04-13

我第一次听说《编程之美——微软技术面试心得》,是在博客堂2007年会上。当时和邹欣先生坐得不远,他简要地介绍了《编程之美》的内容和写作进度。不久前我在电子科技书店看到此书已经上架,于是借来一阅。

此书的优点无须我多言。算法是计算机程序设计的灵魂,是每个计算机专业学生和从业人员必须具备的基础素质之一。微软把一些看似简单,但蕴含深刻内涵的算法题目作为面试的重要内容,是经过深思熟虑的。

不过从我个人角度出发,我更希望看到一本讲述与计算机体系结构、操作系统等原理相关的“经典问题”、“面试心得”一类的书籍。就如同《编程之美》第1.1节的内容,从计算机软硬件实现的角度出发,引出问题,进而提出算法。与从数学问题直接引出算法相比,更贴近研发人员的实际。例如竞态条件和死锁、流水线分析和设计等问题,在计算机专业课本中都是生硬的理论和千篇一律的例子。提到读者写者,我们马上就会想到竞态、并发、死锁等问题,但在一个现实的程序或项目中,缺乏经验的编程人员往往不会立刻发现自己遇到的情形恰恰可以套用读者写者模型。从现实程序问题到算法数学原理,需要体系结构模型的过渡。

算法和工程是分别是研究和开发人员必备的基本能力,我觉得我的期望是二者的交融点。