本文虽是以列举计算机大神的形式让读者听了听天才们的小故事,其实更希望读者们能够了解这些人们除了自己对计算机科学的贡献,还有着更加伟大的相同的另一面:老师。

原文标题:《细数自冯·诺依曼起,这些计算机领域大神们的「双面人生」》

如果你点开文章的时候,还没有猜到标题中的「双面」是哪两面,不妨先打开今天的日历,猜一猜我们今天的主题。

没错,除了计算机天才大神,他们同样是今天值得被祝福的人:教师。

教师,本身就是一个神圣又令人尊重的职业。那些为人类进步和发展做出贡献的科学家,有很多同时也是优秀的教师。不仅他们的发明创造推动了社会的文明进步和发展,而且其作为教师的育人精神,也促进了人类文明的传承和发扬光大。除了标题中提到的冯·诺依曼,我们不妨了解一下还有哪些值得膜拜的计算机科学大神,同时也是值得大家尊敬的教师。

一、约翰·冯·诺依曼 John von Neumann

提起冯·诺依曼,即便是非计算机专业人士,也会熟知他有着「电子计算机之父」以及「博弈论之父」的称号。出生在匈牙利的他,六岁时能心算做八位数乘除法,能用希腊语同父亲互相开玩笑,八岁时掌握了微积分,十二岁就读懂领会了波莱尔的大作《函数论》要义。

致敬计算机领域老师们的「双面人生」

大家也许或多或少都听过一些他的个人事迹。比如在某数学聚会上,有一个年轻人兴冲冲地向冯·诺依曼请教一个问题,他仅看了一眼就说出了正确答案。年轻人兴奋地请他告诉自己能在短时间内解出此题的简便方法,并抱怨其他数学家用无穷级数求解过于繁琐。冯·诺依曼却说道:「你误会了,我正是用无穷级数求出的。」

还有这样一个神算的故事。在 ENIAC 计算机研制时期, 有几个数学家聚在一起切磋数学难题,百思不得某题之解,于是某青年数学家带了台式计算器回家继续演算。次日清晨,他疲惫但是又带有炫耀性地和大家说:「我从昨天晚上一直算到今晨 4 点半,总算找到那难题的 5 种特殊解答。它们一个比一个难!」说话间,冯·诺依曼推门进来,「什么题更难?」虽只听到后面半句话,但「更难」二字使他马上兴奋了起来。

大家都想见识一下冯·诺依曼的「神算」本领,于是把题目告诉他。只见冯·诺依曼眼望天花板,迅速进到「入定」 状态。过了 5 分来钟左右,就已说出了前 4 种解答,并在想着第 5 种解。青年数学家再也忍不住了,情不自禁脱口讲出答案。冯·诺依曼吃了一惊,但没有接话茬。又过了 1 分钟,他才说道:「你算得对!」随后,冯·诺依曼却呆在原地,陷入苦苦的思索。有人轻声向他询问缘由,他不安地回答说:「我在想,他究竟用的是什么方法,这么快就算出了答案。」听到此言,大家不禁哈哈大笑:「他用台式计算器算了整整一个夜晚!」

故事看到这里,大众认定他是计算机科学界的泰斗级人物及计算机天才已是毋庸置疑的事了。但是很多人并不知道,冯·诺依曼除了拥有解决一切问题的本领之外,还肩负着另一个使命,也就是他的另一面人生:大学教授。

1929 年,冯·诺依曼任汉堡大学兼职讲师。当时德国大学里的教授空缺很少,照他典型的推理得出,在三年内可以得到的教授任命数是 3,而参加竞争的讲师则有 40 名之多。1930 年他首次赴美,成为普林斯顿大学的客座讲师。1930 年,27 岁的冯·诺依曼被提升为教授。于 1933 年 , 他又被聘为普林斯顿高等研究院第一批终身教授。要知道,当时普林斯顿的高级研究院仅仅聘有六名教授,其中就包括爱因斯坦,而年仅 30 岁的冯·诺依曼是他们当中最年轻的一位。

致敬计算机领域老师们的「双面人生」

二、高德纳 Donald Ervin Knuth

学过计算机的人,一定会听说过这个名字,无论是中文还是英文版本。但写出来他的中英文名是不是发现两者貌似有点对不上号?比如现任美国总统川普的名字也是 Donald,我们通常翻译为唐纳德。这里要和大家简单介绍一下「高德纳」这个中文名字的由来。按照 Donald Ervin Knuth 的发音应该直译为唐纳德·尔文·克努斯 ,而「高德纳 Gao Dena」这个中文名字是 1977 年他访问中国前夕由中国计算机科学家姚期智的夫人储枫所起,之后他便坚持沿用高德纳作为他正式的中文名字。说起原因,他认为即便他不会说中文,但是有个中文名字还是会让中国人对他有更加亲近的感觉。加上中国的编程者越来越多,他很重视这样一批年轻并且优秀的人才,希望能够与这些人在未来有着更好更深入的交流。 高德纳被誉为现代计算机科学的先驱。他创造了算法分析的领域,在数个理论计算机科学的分支做出了基石一般的贡献。高德纳所写的《计算机程序设计艺术》是计算机科学界如同圣经一般最受敬重的书籍之一。比尔盖茨曾说过:「如果能做对书里所有的习题,就可以直接来微软上班!」 同时,他也是排版软件 TEX 和字体设计系统 Metafont 的发明人,曾提出文学编程的概念,并创造了 WEB 与 CWEB 软件作为文学编程开发工具。此外,他还是 1974 年图灵奖得主。

致敬计算机领域老师们的「双面人生」

可以说,高德纳是被世人公认的美国最聪明的人之一。当年他上大学的时候,常写各种各样的编译器来挣外快,只要是他参加的编程比赛,第一名就不会有别人的位置。他不但聪明,还是个有趣之人,可以说在性格上也具有这双面或者多面的特质。高德纳会奖励每一个找出他著作中任何错误的人。这些人每指出一个错误,就能得到 2.56 美元,因 256 美分刚好是十六进制的一美元。(256 pennies is one hexadecimal dollar)如果建议很有价值,那么还有 0.32 美元的额外奖励。

致敬计算机领域老师们的「双面人生」(上图为高德纳为发现他书中错误的人所手写的支票奖励)

也许大家还不知道,计算机泰斗高德纳,有着不止双面,甚至是多面的人生。高德纳一直酷爱音乐,喜欢吹萨克斯和大号,高中的时候还一度犹豫是否报考音乐专业。除此之外,他还在书房中特别放置了定制的 84 管管风琴。当然他的多面,也包括大学教授的一面。正所谓「不想当计算机科学家的萨克斯手不是好教授。」 高德纳获得加州理工学院数学博士学位后便于 1963 在加州理工学院任教。1968 年,他拒绝了美国国家安全局的工作邀请,受聘成为斯坦福大学计算机系教授,直到退休。在某次对高德纳的问答会上,他曾讲到:「我一直想成为一名教师。事实上,我上一年级的时候,就想教一年级 ;上二年级时,我想教二年级。我最终成为了一名大学教师。因此我想, 如果可能的话,我会是一名教师。」因为他内心希望将自己所拥有的知识,传承下去。

致敬计算机领域老师们的「双面人生」

三、艾兹赫尔 ·韦伯·戴克斯特拉 Edsger Wybe Dijkstra

也许很多人并没有听说艾兹赫尔这个名字,但是以他的姓氏命名的算法大家应该并不陌生,也就是「Dijkstra 算法」。艾兹赫尔于荷兰获得数据和物理学学士,理论物理博士学位,以发现了图论中的最短路径算法而闻名于世,于是此算法也用了他的姓氏来命名。1972 年他因 ALGOL 第二代编程语言而获得图灵奖。

致敬计算机领域老师们的「双面人生」

除了科学研究之外,艾兹赫尔最喜欢做的事情就是教学,被人称作「一天教学 24 小时」的教授。就连学生的期末考试,都要在他的办公室或者家里举行,仅仅是一个学生就要耗费好几个小时。 艾兹赫尔于 1962 年在荷兰埃因霍芬理工大学开始担任计算机科学全职教授,中途也曾经担任过公司研究院。但是最终,他被美国得克萨斯州立大学聘请成为了计算机科学和数学教授职位,并且持续做了 15 年他认为最具有价值的事情——对学生的教导,直到他退休。 艾兹赫尔曾说:「对于我来说,计算机科学上的第一个挑战是如何把命令维持在有限个内,然而巨大的、分立的宇宙是复杂地缠绕着的。第二个也是同样重要的挑战是如何传授解决那第一个问题的方法:只培养你个人的才智(那会随你进入坟墓的东西)是不够的,你必须教会其他人如何去发挥他们的才智。你越关注这两个挑战,你越会清楚的看到它们只不过是同一枚硬币的两个面。」 艾兹赫尔提及的这硬币的两面,同时也是每一个教职人员人生中既不断地自我学习发挥自己的才智,同时又需要教会别人如何用他的才智来传承老师智慧的这两面。

致敬计算机领域老师们的「双面人生」

四、安德鲁·威尔逊·阿佩尔 Andrew Wilson Appel

我们小的时候也许在数学课或者地理课,曾听到过这样一个问题:一张地图最少可以用多少种颜色来标记,能使具有共同边界的国家着上不同的颜色? 答案是四个。

致敬计算机领域老师们的「双面人生」

当然我们本篇文章不讲这个定理的细节,也不讲如何证明,仅仅来和大家分享一下证明这个定理的小故事。有一位在普林斯顿任教的天才数学家名叫闵可夫斯基,爱因斯坦也曾是他的学生。闵可夫斯基经常因为爱因斯坦旷课而骂他「大懒虫」,而这位数学天才也曾经因为试图证明这个猜想在普林斯顿上了有史以来最尴尬的一堂课。有一天闵可夫斯基在课上被同学递上一张小纸条,问他为什么只用四种颜色就可以把地图上有共同边界的国家涂成不同颜色。闵可夫斯基认为,之所以这个猜想没有得到证明,是因为没有一流的数学家去证明他,于是立即当堂展开了证明。直到下课铃声响起,问题依然保留在黑板上。几个星期之后,还是没有进展。闵可夫斯基这才承认自大的他其实根本解决不了这样的问题。 直到 1976 年 6 月,安德鲁·威尔逊·阿佩尔 Andrew Wilson Appel 与他的父亲肯尼思·艾拉·阿佩尔 Kenneth Ira Appel,在美国伊利诺伊大学的两台不同的电子计算机上,用了 1200 个小时,作了 100 亿个判断,最终将「四色猜想」正式变成了「四色定理」,轰动了世界。

致敬计算机领域老师们的「双面人生」

同样的,安德鲁也是拥有教授身份的一个计算机科学家,目前在普林斯顿任教。和艾兹赫尔一样,热衷教学的安德鲁,目前已经带出了 20 多个在计算机领域内非常有名的杰出人物。其中有数十位都在领域内担任教职工作。而接下来介绍的,就是安德鲁门下最得意的弟子,是一位姓名不用再写中英双语的中国计算机科学家。

五、邵中

邵中,现为耶鲁大学计算机科学系主任、Thomas L. Kempner 教授 。可以说,他是研究网络安全、编程语言、操作系统和认证软件等高度可见研究领域的领军人物。 就是这样一个在小学就开始做中学题目,在中学看大学教材的天才。15 岁,当别人还在为中考而奋斗的时候,邵中就已经拿到了郭沫若奖学金,考入了中科大少年班开始了他的计算机科学生涯。于中科大毕业之后,邵中又继续到普林斯顿进修博士。

致敬计算机领域老师们的「双面人生」(上图为邵中在中科大少年班时的照片)

邵中刚到普林斯顿的时候,身上除了携带了 70 美金,可以说是一无所有。那个时候因为还没有正式开学,奖学金也不能提前到账。70 美金,虽然在那个年代买上几顿饭还是富裕的,但是完全不足以让邵中交付房租以及承担其他生活开支。于是他的导师,也就是我们上文提到的安德鲁教授,以每天 20 美金的价格请邵中到安德鲁教授的办公室读书并做一些兼职,支持他开学前的基本生活。 在普林斯顿读博期间,邵中与导师安德鲁教授曾在贝尔实验室的计算机科学研究中心研发 SML (Standard ML)语言编译器。但是在当时,SML 语言虽然在处理复杂数据结构有着明显的优势,同时它也存在一个致命的缺陷,就是效率极其低下,因此不能用于商业用途。 继普林斯顿博士毕业之后,邵中一边在耶鲁大学任教,一边继续执着地研究 SML/NJ (Standard ML of New Jersey),终于成功研发了 SML 语言最著名的编译器:SML/NJ。可以说,仅仅是这一项科研成果,就足以让邵中教授拿到用不完的科研经费。然而他在科研和教学方面,并没有因此止步。

致敬计算机领域老师们的「双面人生」(以上照片从左到右依次为:Lal George, David MacQueen, John Reppy, Zhong Shao 邵中 ,Lorenz Huelsbergen, Emden Gansner, Matthias Blume, Andrew Appe 安德鲁·阿佩尔)

随后,邵中和他所带领的 FLINT 团队开发了世界上第一个防黑客并发操作系统 CertiKOS。简单来说,这个系统是毫无漏洞的,并且是经过了形式化验证过的无漏洞、无法被黑客攻破的操作系统。同时这项技术也是构建可证明没有软件漏洞的网络物理系统的重要里程碑。

致敬计算机领域老师们的「双面人生」

邵中教授除了拥有很多科研成果,在教学上也可谓是硕果累累。其中出身 FLINT 团队的学生 Jan Hoffmann,目前是美国卡内基·梅隆计算机系的助理教授。要知道,卡内基·梅隆大学的计算机系就如同沃顿商学院在商科的地位一样顶级。别说是当教授了,就算是去读个本科或者是研究生,竞争也是异常激烈。 而邵中教授的另一位得意门生,顾荣辉,目前与邵中教授本人应用了 CertiKOS 等科研成果,共同创立了 CertiK 公司。值得一提的是,顾荣辉本人也秉承师道,身兼了 CertiK CEO 与哥伦比亚大学教授两个身份。

致敬计算机领域老师们的「双面人生」

有趣的是,顾荣辉教过的一些中国学生,甚至会在朋友圈炫耀听他课的感受:「他的课真是精彩极了!像解谜一般环环相扣,在他完美的逻辑下清晰地展现出了计算机的数学之美!」 邵中教授和他已经做了老师的学生,与上述其他的计算机科学家一样,一直坚持着不断创造并更新自己的科研成果,同时兼顾着教育教学,不断在将自己认为有价值的东西传承给学生们。

致敬计算机领域老师们的「双面人生」

写在最后:本文虽是以列举计算机大神的形式让读者听了听天才们的小故事,其实更希望读者们能够了解这些人们除了自己对计算机科学的贡献,还有着更加伟大的相同的另一面:老师。在九月十日教师节,我们不仅仅需要感谢因为他们才有了我们今天的电脑以及网络安全,更需要理所应当地感恩并且致敬这样为教育和为科学传承精神做出贡献的人。

世界科技的发展,不仅仅需要人才,更需要那些愿意为科技献身并身兼传承精神的人才。如果一个人仅仅自己聪明,不去帮助别人,那么永远就不会有「长江后浪推前浪」的潮流。如果一个人足够有智慧,那么将他的才智多样性地发挥,培养更加优秀的人才,将科研的精神发扬和传承下去,才能不断地推动社会和科技的进步。

人总有逝去的一天,即使再聪明的人其才智也终将被带入坟墓,最终只留下寥寥几行字可以镌刻在墓志铭上。但是作为教师所带出来的优秀学生,将继续引领下一代优秀的人才。那是一种永远不会消逝的精神,并且它所带来的价值会不断地像滚动雪球效应一样,为整个社会和人类积累并创造无穷无尽的财富和智慧。

祝福所有的教师,节日快乐!

来源链接:mp.weixin.qq.com