Chinaunix首页 | 论坛 | 博客
  • 博客访问: 982179
  • 博文数量: 102
  • 博客积分: 10120
  • 博客等级: 上将
  • 技术积分: 2754
  • 用 户 组: 普通用户
  • 注册时间: 2006-09-13 23:00
文章分类

全部博文(102)

文章存档

2011年(6)

2010年(55)

2009年(16)

2008年(25)

分类:

2010-07-04 23:05:35

《计算机科学概论(第10版)》

收到人邮图灵的样书是09年10月份下旬。这半年来,工作一直处于极为紧张的状态。因此答应写的书评迟迟未能兑现,内心深感不安。正好最近项目基本告一段落,偷得浮生半日闲,趁此机会,赶紧把这个久拖未决的心事给了了,也算是弥补当初申请图灵样书时的承诺。

做为一名科班出身的计算机工程人员,我很少花时间阅读概述性质的书,图灵的这本(以下简称《计概》)大概是第一本。

和任何一门成熟的学科一样,计算机也在几十年的发展中衍生出了诸多子学科领域。即使一个EE或者CS专业毕业的计算机从业人员,也难得有机会窥见整个学科的全貌,眼光常常局限于自己所在的某个子领域,只见树木不见森林。这显然不是什么让人高兴的好事。

概述性质的书籍提供了一个打开视野的窗口。透过这个窗口,可以看到整个学科的一个缩影,从而获得一种整体的认知。这也正是我在申请图灵样书时选择这本书的初衷。

概述性质的读物的难点在于要通俗易懂,门槛要低,因为这类读物的目标受众常常是初学者或行业外人士。计算机类概论读物的难度又要更大一些,因为计算机是一个复杂的系统,涉及的知识面极广,细分领域众多,要在不牺牲准确性、趣味性的基础上把事情说清楚,殊非易事。就我个人的肤浅理解而言,写作一部计算机概论书籍,其难度并不比写一个民族的通史来得容易。

由于没有读过其它计算机概论书籍,没有参照物可资对比,我只能就图灵的这本书本身说一下大致的体会。

计算机类书籍极难做到的一个目标是:把复杂的事情说清楚。“停机问题”可算是检验这一点的一个好方法。“停机问题”是计算理论中的一个经典问题,用以说明存在算法系统解决不了的计算函数(不可解函数)。说清楚“停机问题”的难点在于:1.要给读者交待清楚什么是自引用(self-referrence);2.逻辑悖论会在什么地方出现。《计概》一书在阐述这个问题时相当干净利落,一点都不拖泥带水。只用了一个图就把问题说明得透彻见底(见图12-7 证明停机程序的不可解,372页)。

把计算机类书籍写枯燥乏味很容易,但要来点令人耳目一新的花样着实不易。关于操作系统的死锁问题就是这样的典型例子。在我看过的操作系统书籍中,鲜有不用图来说明死锁问题的,但所有这些插图,清一色都是两个圆圈表示进程,两个方框表示资源(或者反过来),然后用四个箭头连成一个环。OK,这样的确是很准确,可是我真想看到一些不同的表述方式。《计概》一书给了我这个惊喜,看到“图3-7 由于竞争不可共享的铁路区间造成的死锁”(89页)时,真让我眼前一亮。虽然是很熟悉的概念,但另辟蹊径的表述方式给人一种耳目一新的愉悦感。

《计概》虽然是一本概述性质的书,但这并不意味着它就语焉不详。事实上,《计概》一书在很多地方往往仅用寥寥几笔或者是一个小例子就给出了真知灼见。比如,“1.7.2 截断误差”一节在说明小数的截断误差时,作者仅用了一句话就揭示了计算机在处理小数截断误差上面临困难的内在原因:“二进制记数法中有无穷展开式的数值多于十进制,例如,数值1/10表示为二进制时为无穷展开式”。而接下来作者用于说明“浮点数加法中相加顺序很重要”的例子更可谓是恰到好处、妙手天成。

关于《计概》一书内容方面的情况就介绍这么多罢。如果要让我对全书给出一个总的评价的话,我大概不会吝啬以下词汇:

1. 深入浅出,微言大义;

2. 高屋建瓴,举重若轻;

3. 言简意赅,字字珠玑。

除此之外,《计概》一书让我喜欢还有两点额外的原因:

1. 翻译得很好,译者很专业,遣词造句非常慎重,够得上“信、达、雅”的标准;

2. 图灵用的纸张很不错,翻着非常舒服。

总的来讲,我唯一感到遗憾的是没有在大学里刚开始接触计算机的时候就阅读本书。今时今日,做为一个已经步入IT江湖的无名小卒,再来阅读本书,终归是种缺憾。不过不管怎么说,还是希望图灵以后继续出版这样高品质的计算机图书。

阅读(1080) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2010-07-05 14:24:46

准备拿来做教材,一直很迷惑没有入门级的书籍给学生做入门。看了一下本书的目录,值得阅读。 已经推荐给同事参考了。 因为我们没有传统本科中的各门课程,很多人都会开发程序了,但很基本的内容都不知。觉得这本书可以算是他们入门。