English

理论与实践的中间件

2005-07-20 来源:中华读书报  我有话说

技术书籍的作者大抵可以分为三类。一类是职业教师,特点是喜欢搜罗资料,汇编成书,以为教科书,力图让学生阅后大喊“明白”;一类是畅销书作家,有一定的技术功底,犹善文字功夫,但往往“浅出”有余,“深入”不足;一类是学者大师,写的就是自己的研究成果,对来龙去脉烂熟于胸,总能引经据典、高屋建瓴、微言大

义,却常常对凡尘俗世少几分眷顾。第一类作者的书可当作综述看,达到快速了解大概的目的,但千万不要被那份“明白”蒙蔽,也不要以为科学如书中所写的那样乏味。第二类作者的书能让人学得更全面,真正地明白很多道理,也会引发继续学习的兴趣,用来应对职场基本足够,但对“计算机科学”专业的学生而言,有些浅薄。第三类作者的书基本都堪称“圣经”,虽然难读,但每读懂一句话,都会感到自己的功力又上升一层,越会明白什么叫“山外有山”、“学无止境”。有时候第三类书带给读者的问题比解决的问题还要多。

凭《OperatingSystems DesignandImplementation》(以下简称OSD&I)、《ComputerNetworks》和《StructuredComputerOrganization》中的任何一本,《ModernOperatingSystems》(《现代操作系统第二版》―――中、英文版皆由机械工业出版社引进推出(编者注),以下简称该书为MOS)的作者AndrewS.Tanenbaum(以下简称AST)都可以算作第二类作者。但因为他做了很多结结实实的研究工作,也有像MINIX这样响当当的成果,所以具有登入第三类的资本。以笔者的观点,他还算不上“大师”,但能将理论与实践之美以最完美的方式结合,并将其大气地呈现给读者的,舍AST其谁?

笔者以MOS为教材教授了两年的操作系统课程,对象是软件学院的本科生,认为它有这样几个优点:

理论联系实际

此口号响彻中国许多年,但至少在大学的专业课教育里只闻其声,难见其形。对于操作系统课来说,国际上也有很多关于是重理论还是重实践的争论。AST也是迎合众多“理论派”的要求,将偏实践的OSD&I改编为理论与实践平分秋色的MOS。笔者认为,这样的教材是最适合中国的当前情况的。

大学课程里已太多的理论化(虽理论化,但深度确一般),学生找不到具体的直观感受,对理论的理解和接纳就都成问题。同时,有些课程又非常实践化,不能帮助学生加深对理论的理解。课堂之外,市井之中,学生看到和听到的多是彻头彻尾的实践,于是会产生“理论无用论”。操作系统因其固有的特点,恰好是衔接两者的绝妙课程。而且传统的操作系统课多偏重理论,MOS是能够将其并入实践的中间件。

MOS每讲完一处理论,都会再说说它的实际用途和怎么用。对一些只具有理论美感却不可实现的算法、方法,他也毫不避讳地一一指出,并且还讲了很多让理论家大跌眼镜的美妙的工程方法,让学生在理论和实践的辩证关系之间成长。特别是第10和11两章,利用前面讲述的理论,对Unix/Linux和Windows2000进行了实例研究,分别从理论和实践角度分析了最重要的两种操作系统的种种特点、优点和缺点的必然,是全书精华所在。

知识面广

AST是一个爱好广泛且精力充沛的人。他对待任何一个他涉猎的领域都不会蜻蜓点水。广博的知识在MOS中无处不尽形体现。

即便我们忽略那些“Modern”的关于分布式、网络和多媒体等的章节,依然能看到操作系统之外,AST向书中融入了无数的知识。粗略列举大概有计算机原理、体系结构、汇编语言、C语言、Java语言、接口技术、数据结构、图论和软件工程等等。计算机专业本科的骨干专业课基本都被覆盖了进来。将这么多的内容融为一炉,使学生不再孤立地看待每一门学问,体会到综合运用知识的妙处,对开拓思维大有裨益。

内容新

操作系统的研究工作已经很多年没有大的突破了。MOS号称“现代”,但内容的绝大部分都是很久以前的。不过AST还是将不少较新的研究成果融入到了各个章节,还将多媒体、分布式和网络安全独立成章,更在每章之后都指出了目前的研究热点,使老调n次弹的操作系统课变得生意盎然。

幽默

AST的写作水平是毋庸置疑的。多次获得各种机构教育奖的他深得传道之道,文字不仅行云流水、通俗易懂,而且风趣幽默、妙语连珠,使读MOS的快乐更加了几分。幽默以及AST对很多争议问题的个人观点的直言不讳(有时甚至是挖苦),都让学生更喜欢MOS,也打破了传统教科书死板的形象,体现了科学与技术的人性化的一面。

传奇

AST是一个传奇人物,因为它写了一个传奇的操作系统MINIX,并写了一本传奇的书OSD&I来讲述MINIX。MINIX与OSD&I是传奇,因为它们一起培养了一代代的黑客,尤其是培养了传奇的LinusTorvalds。他在学习了OSD&I后,编写了一个传奇的操作系统―――Linux。在这个传奇故事中最传奇的一笔,是AST和Linus在usenet的那一场关于MINIX和Linux的著名论战。AST甚至在论战中说,如果他的学生设计出像Linux这样的“落后”的操作系统,他不会让这个学生通过考试。如今来看,不知道Linus是真的应该不及格,还是他是AST最成功的学生。

传奇的故事,使AST的书更吸引人。在这样的传奇氛围中,品评着传奇的人与事,获得的不仅仅是知识,更有在精神上的熏陶,比如要坚持自己的观点,置疑权威,比如开放源代码运动的精神。Linus在大学二年级就开发了Linux的传奇,对学生的激励作用也是非同小可的。

MOS也有不少缺点:

理论深度不足

MOS的定位是做理论与实践的粘合剂,所以它两者兼顾,于是两者都未达到一定的深度也就很自然了。这其实可以算作MOS的特色,甚至是优点。好在AST不是第一类作者,理论部分他讲到自己认为足够深的地方就停笔,然后通过参考文献和推荐阅读的方式告诉想更深入研究的读者该看什么。

没有勘误

任何一本书都会有错误,所以能及时地提供勘误表是作者与出版社对读者负责的表现。但MOS没有勘误表(或者我没找到?),而且它还是有些大大小小的错误、笔误。

没有最好的,只有最适合的。MOS肯定不是最好的操作系统教材,但依我之见,它可能是最适合你的,最适合中国现状的。

手机光明网

光明网版权所有

光明日报社概况 | 关于光明网 | 报网动态 | 联系我们 | 法律声明 | 光明网邮箱 | 网站地图

光明网版权所有