Andrew S. Tanenbaum 访谈录
Andrew S. Tanenbaum 简介:
著名的技术作家、教育家和研究者,IEEE高级会员、ACM高级会员、荷兰皇家艺术和科学院院士、1994年ACM Karl V. Karlstrom杰出教育奖、1997年ACM计算机科学教育杰出贡献奖、2002年Texty卓越教材奖、第10届ACM操作系统原理研讨会杰出论文奖、被列入“Who's Who in the World”人物目录。
Q: 你有个德文名字;你住在荷兰;可你英文却写得和土生土长的美英人士一样好,这是怎么回事啊?
A:哦,是这样的。我祖父出生在Chorostkow(这个城市在奥匈帝国统治时期属于波兰,现在在乌克兰境内),[译补:所以我有了个德国名字。]他在 1914年去了美国。我出生在纽约,在纽约州的White Plains长大。[译补:所以我英文程度和美国人无异。] 我到阿姆斯特丹来做博士后研究,从此就逗留在这儿了。
Q: 你在那里上学呢?
A: 我在当地的White Plains高中毕业后去了麻省理工,取得学士学位后到加州伯克利大学攻读博士学位。
Q: 哦,那你最喜欢哪个学校?
A:嗯,高中生活挺好的,但我最喜欢的还是在舞台上当电工的那段时光。至于麻省理工,虽然大家都很尊敬它,我也很尊敬,但我想没有人会喜欢它。毕竟,谁会喜欢凑在消防龙头上喝水呢……[译注:Tanenbaum将在麻省理工“痛饮知识的圣泉”比作“凑在压力强劲,水流湍急的消防笼头上喝水”] 现在提到那个地方我仍然觉得后怕。伯克利,我喜欢!还有那难忘的迷人海湾……[译注:伯克利在四季如春的加州硅谷地区,美丽的校园离旧金山海湾很近。]
Q: 那你从麻省理工到伯克利,有没有感受到一种“文化上的冲击”?
A: 哦,上帝!确实如此。你知道,置身于这样一个地方,忽然发现居然有人智商在150以下,而且人们不必每周学习7天每天学习14小时也能跟得上教授上课的节奏,真的感觉太奇怪了![译注:这是在调侃麻省理工了,那是一群智商奇高的工作狂所在的地方,伯克利是和麻省理工齐名的著名学府,尤其是在自然科学和计算机工程等学术领域是全美最好的。斯坦福,伯克利,麻省理工,卡耐基梅隆大学的计算机系都曾多次被评为全美第一或并列第一,但从Tanenbaum的回答可以看出,两所学校教学风格迥异。]
Q: 那你在每天多出来的时间里都做些什么呢?
A: 我花许多时间为Sierra俱乐部工作,还在Sacramento[译注:地名,为加州首府]游说议会,以促使一项保护旧金山湾的议案能被通过。我现在仍然是Sierra俱乐部的成员,我为此而自豪。
Q: 你有些什么兴趣爱好吗?
A: 呵呵,我夫人说“玩电脑”就是我的爱好。当然,我还喜欢旅游,研究菜谱,摄影。
Q: 你都去过那些国家呢?
A:哦,这难说了。我现在就像苍蝇那样在各国间飞来飞去。这样吧,按照我去过的国家当时的名字(比如俄国,在我去的时候叫苏联)来记,只算我经海关入境的,仅飞过领空或者我仅在机场逗留的国家不算(这样一来,巴基斯坦就不算了,尽管卡拉奇国际机场的卫生间是全世界机场中最好的^_^),那么,包括度假和出差(指演讲,开会),我去过这些国家:阿尔及利亚,澳大利亚,奥地利,比利时,加拿大,捷克斯洛伐克,丹麦,英国,埃及,芬兰,法国,德国,希腊,以色列,意大利,日本,约旦,肯尼亚,卢森堡,马耳他,墨西哥,摩洛哥,荷兰,新西兰,挪威,波兰,葡萄牙,南非,西班牙,斯里兰卡,瑞典,瑞士,坦桑尼亚,塞舌尔,突尼斯,土耳其,苏联,美国。
Q: 你在这些地方都做游记了吗?
A: 是啊,内容丰富而广泛的游记。事实上,我写了一本讲旅游的书, 但由于“政治倾向”问题而还没能出版。“政治倾向”近来成了学术界的禁忌,什么左倾呀,麦卡锡主义呀……
Q: 你对阿姆斯特丹看法如何?
A: 哦,这是个平静宜人的城市,不大也不小,刚刚好。而且我很喜欢这里的天气--单调的灰色天空,一年大部分时间都细雨蒙蒙……这样的天气真是太适合于呆在家里“温暖”的电脑前面了!
Q: 到底是什么是你产生了写这样一份FAQ的念头呢?
A: 参见我的《计算机网络》一书,第3版, 663页。
Q: 你平时要收到多少封email?
A:太多太多了。虽然我很乐意帮忙,但我确实没这个能力帮助全世界的本科生来完成他们的作业,或者帮助所有研究生来选择他们的论文题目,或者是为我从未听说的助理教授写“转正”的保荐信,或者是推广产品,指导你如何建设网络,帮助你找到感兴趣的论文,帮助你找工作,陪你聊你喜欢的话题……尽管如此,我还是常被要求做这些事,这样的email堆积如山。
Q: 你会说荷兰话吗?
A: 这个嘛,嘿嘿,我对名词,形容词和动词还是掌握得蛮好的,但对介词,关系连词掌握一般,而对于冠词,呃,简直是没希望了!拜托谁能告诉我,为何荷兰语中ezel(驴子)的词性是“公的”;paard(马)是中性的;而antilope(羚羊)是“母的”???
Q: 你干吗要在大学工作呢?
A: 我念大学时,有一个暑假在IBM工作,当然,是为了赚钱。一天,我穿了件颜色“不合适”的衬衫上班,我的同事告诉我不应该这样穿,并提出了“改进建议”。从那时我就开始感到,我可能不合适在企业界做事。
Q: 你教书吗?
A: 当然,我教《计算机体系结构》,《计算机网络》和《操作系统》。
Q: 你也做研究吗?
A: 我是很想啊,但学校希望把我变成行政官僚。我现在参与Amoeba[译注:一个高性能微内核分布式操作系统。Amoeba直译是“变形虫”]和Paramecium [译注:直译为“草履虫”]项目, 还和我的研究生们一起从事Globe项目。这比我期望的研究量要少。
[译注: 对Tanenbaum研究项目的一些介绍:
Tanenbaum研究兴趣主要集中在分布式操作系统方面。当然,因为分布式操作系统的复杂性,他同时对计算机体系结构和计算机网络(这两个领域的知识在分布式操作系统设计中都是必须的)也有深厚了解。早期他还设计过ACK编译器开发包,所以对编译原理也有较多研究。
Tanenbaum设计的3个操作系统包括:
MINIX,Tanenbaum早年开发的一个微内核教学操作系统。大家熟悉的Linux就成长自MINIX播下的种子。
Amoeba,一个微内核分布式操作系统,它提供了一个具有透明性的分布式平台(透明性意即对本地对象和远程对象的调用具有同样的语法)。
Paramecium,一个简单而易扩展的试验操作系统,支持并行程序设计。Paramecium采用面向对象技术(例如 namespace),力图在用户进程和内核间的“任务平衡”方面达到最佳。我们知道,把所有功能都加进内核会导致模块性和扩展性极差;但把太多的功能移出内核,作为用户线程提供,又会导致性能的下降。目前实作的所谓微内核操作系统实际上都是将性能的考虑和设计的优雅性所折衷得到的产物,比如 Windows 2000/XP号称微内核,但实则为了图像性能,将GDI放入了内核。Paramecium是对操作系统设计中“鱼和熊掌能否兼得”问题的一个探索。事实上,研究已经表明纯微内核系统的性能完全可以不比同样功能的宏内核系统差,剩下的事情就是实作的检验了。Paramecium项目和SPIN, Oberon,Exo,Spring等项目类似,不过采用具有多保护域的微内核,不虚拟化硬件。]
Q: 你为你的博士生们骄傲吗?
A: 那当然,他们都很聪明好学。我是在扮演下蛋的老母鸡的角色,呵呵。在我的主页上有他们的名单。
Q: 我能成为你的研究生吗?
A: 恐怕不能,这里的制度[译注:指荷兰Vrije大学]和美国不同,这里研究生是大学的雇员,不是学生。而且我的研究生名额有限,我一般只从本校的本科生中按学习成绩好坏来选拔研究生。这种“近亲通婚”的做法是我从麻省理工学来的“坏作风”之一。
Q: 那我能成为Vrije大学的本科生吗?
A: 也许可以吧,不过要注意,我们是用荷兰语授课的……
Q: 你白天都忙些什么?
A: 开会 :(
Q: 那晚上呢?
A: 在家里写书,写软件。
Q: 你写了多少书了?
A: 呵呵, 计算这个, 麻烦可不比计算“我去过多少国家”少。如果按有几本教材算:5本;如果修订本也算在内:12本;如果把那本486页的MINIX手册也算在内:13本;如果其他语言的译本也算,再加一大捆:)
[译注: Tanenbaum的著作
Structured Computer Organization 4th ed (《结构化计算机组成》)
Computer Networks 3rd ed (《计算机网络》)
Modern Operating Systems 2nd ed (《现代操作系统》)
Operating Systems : Design and Implementation 2nd ed (《操作系统:设计与实现》)
Distributed Systems : Principles and Paradigms (《分布式系统:原理和范例》)
这些经典之作分别由机械工业出版社、电子工业出版社、清华大学出版社引入国内, 均有中译版和影印版。
Tanenbaum的书有一个特点: 封面(指原版)都很活泼]
Q: 那你的作品都被译成哪几国文字?
A: 巴斯克语,保加利亚语,卡斯蒂利亚西班牙语,中文,荷兰语,法语,德语,希腊语,匈牙利语,意大利语,日语,朝鲜语,墨西哥语,西班牙语,波兰语,葡萄牙语,罗马尼亚语,俄语。
Q: 除了计算机技术书,你还写些其他书吗?
A: 是的。我写过一本菜谱。当然,还有前面提过的那本还没出版的旅游书。
Q: 你使用什么电脑?
A: 在学校,我用UltraSPARC工作站。我的研究组使用有144个1-GHz Pentium III CPU 的DAS-2机群,每个CPU分配256MB内存和2。56Gbps的网络接口。这个机群是用来研究分布式和并行计算的,和荷兰另外四所大学的机群宽带联网。不过,我在家用一台便宜的Pentium兼容机写作。
Q: 你用什么编辑软件写作?
A: 我以前用elle,这是一个简化的emacs的克隆,但我最后还是决定使用完整的emacs。
Q: 你喜欢“所见即所得”的编辑系统吗?
A: 当然不,我打字要比用鼠标指点快。而且妈妈告诉我,“指点”是不礼貌的:)
Q: 你对 MS-DOS 怎么看?
A: 要比Windows好,至少它还有个命令行界面--虽然是个虚弱无力的界面。
Q: 你对Linux评价如何?
A:我想借这个机会向Linus说声谢谢,谢谢他为我们带来了Linux。在有Linux之前,我们有MINIX,有个40000人的新闻组在支持它。许多人每天给我发email,不断地把可以加入MINIX的新功能部件发给我,我都快被他们逼疯了!对这些提交新功能的要求,我的答复永远是“NO”,因为我想保持MINIX足够小,以使我的学生们可以在一个学期内理解它,而这正是促使Linus写Linux的原因。[译注:Linus本人也是这么说的,许多关于Linux的书都说了Linux的由来,读者可以参考一下。] 现在我们俩对这个局面[译注:指MINIX和Linux并存共荣,分别在教学领域和应用领域开花结果的局面]都很满意。世界上唯一不满意的人恐怕就是 Bill Gates了,但我认为这是一件好事:)
Q: MINIX死亡了吗?
A:哦,当然不,遥遥无期!过去,现在和将来,MINIX所关注的领域都是教学。我们没必要把不属于MINIX的任务强加在它头上。我和我的合著者Al Woodhull把那本MINIX的教材重写了,现在的教材基于新的和POSIX标准兼容的MINIX版本,这个版本是Kees Bot写的。目标依然是: 让学生可以在一个学期内把操作系统的原理和大部分的实作知识学完。
Q: 还有其他关于MINIX的开发工作吗?
A: Paul Ashton和他的学生写了一个可以在运行于SPARC的Solaris操作系统上运行的MINIX。我想这个版本在大学里会很流行的。我的书的第二版附属光盘上有完整的系统,包括源代码。[译注:电子工业出版社引进国内的《操作系统:原理与实现》就是Tanebaum说的这个“新版本”,下册带有完整的 MINIX源代码光盘。]
Q: 除了MINIX,你还写过其他软件吗?
A:大约是在1980年吧,我写了一个编译器开发工具,叫ACK。全球几百所大学和公司采用ACK为半打的语言和超过一打的硬件平台开发了编译器。关于ACK 的资料,可以参考我在1983年9月号的《ACM通讯》上发表的论文,在654-660页。我还是Amoeba项目的负责人,Amoeba项目的目的是开发一个可供各高校在网络上免费获取的微内核分布式操作系统。我写了许多关于Amoeba的论文,比如1990年10月号的《ACM通讯》上有一篇,在46 -63页。
Q: 你最感自豪的是什么?
A: 是我被列入 ACM高级会员 和 IEEE高级会员。在这个世界上,同时是两者高级会员的人扳着手指都能数清。
Q: 你的生活哲学是什么?
A: 哦,这个,呵呵,我还没想好。要么是“简单为美”,要么就是“第一次就做对”。
[译注:前者Tanenbaum的原话是"KISS"--"Keep It Simple, Stupied"。直译是“保持简单,傻傻的”。(简单、真诚) ]
-