新京报客户端

好新闻 无止境

立即打开
“图灵”大奖得主偏偏不爱编程
新京报
2010-05-02 01:43

 上世纪50年代,米尔纳刚到剑桥大学国王学院的时候,“计算机科学之父”阿兰·图灵刚去世,米尔纳还没听说过图灵,但他第一次听说了计算机编程这回事。

  这位后来著名的英国计算机科学家因在ML语言以及并发理论等方面的突出贡献在1991年获得了计算机科学领域的最高奖——图灵奖,他是一名计算机领域的顶级科学家,但他说,自己从来都不喜欢编程。3月底,76岁的米尔纳在剑桥突然逝世。

  1 进了剑桥,不知图灵

  1934年,罗宾·米尔纳(Robin Milner)出生在军人之家,13岁时,他进入了大名鼎鼎的伊顿公学,开始了他称之为“全速前进”的学习生涯。这个年代的英国,人人都想挤进牛津或剑桥的古典学专业,米尔纳也从小就研习希腊、拉丁文,不过,他从小最有兴趣的专业还是数学。从8岁一直到18岁,米尔纳接受了严格的数学训练,这让他得以顺利进入了国王学院,也养成了为解开一个数学难题,可以通宵不睡的习惯。

  1954年,米尔纳进入剑桥大学国王学院学习数学。同年6月,该学院失去了“计算机科学之父”图灵——他咬下那口著名的毒苹果而身亡。图灵凭借图灵机模型、图灵测试等开拓性工作为现代计算机科学奠定了逻辑基础,但当米尔纳进入剑桥时,并没有听说图灵和其贡献,也更不会料到自己在半个世纪之后会得到以图灵命名的、表彰世界上最优秀计算机科学家的奖励。

  在后来的一次访谈中,米尔纳解释说,图灵的主要贡献是在计算逻辑方面,而剑桥当时搞计算的人对逻辑理论并不太感兴趣。但工程计算与计算理论两者并非互不相干;事实上,米尔纳的数学导师就是图灵的朋友,只不过因为从未谈论起图灵,所以米尔纳当时也根本不知道他。

  3月底,76岁的米尔纳在剑桥与女儿散步时突发心脏病去世。就在三天前,他新近去世的爱妻刚刚下葬。“太意外了,整个学院都很震惊。”米尔纳的多年同事、剑桥大学计算机实验室教授戈尔顿(Michael Gordon)说,“妻子去世后,他整个人都垮了,但还依然坚持做研究。”

  米尔纳曾两次访华,和他接触很多的中科院软件研究所林惠民院士感到很悲痛。去年,米尔纳的专著《Pi演算》中译本出版,他还特地撰序说:“作为在世界上发挥日益重要作用的国家,中国具有引领为新技术建立科学基础的机会。”“这是他有生之年最后发表的文字。”,林惠民遗憾地说。

  2 不是博士,不爱编程

  在剑桥,他接触到了世界上最早的存储程序式电子计算机EDSAC,但是,他并不喜欢编程。他在一次访谈中说,编程一点都不高雅,“你写几条指令,再写几条,非常任意,我觉得编程并不是漂亮的活计,所以当时就决定,这一辈子再不靠近计算机!”当时他没有想到计算机会取得如此巨大的成就。两年后,他从数学系转到了哲学系;毕业后,甚至中断了学术生涯,开始在中学任教。这是米尔纳最迷茫的几年。1960年他进入了著名的Ferranti电子公司,有趣的是,和他曾经的誓言截然相反,这家公司要求米尔纳“把一生都献给计算机”。将人们易于编写、阅读、维护的高级计算机语言翻译成计算机能够读懂、运行的机器语言,这需要一定的程序,叫做编译器,米尔纳当时的工作就是编写编译器。

  “米尔纳从来都没不喜欢过编程。他不愿意研究太细节的事情,认为那是工程师的工作。在物理学中,牛顿力学定律决定了各种形态的运动现象,比如火箭上升、地震、炮弹打出去等等,现象是可以看到的,但背后的本质是需要分析的。”林惠民说,“计算机科学也是一样,米尔纳认为科学家更应该做理论方面的事情,寻找科学的一般性规律。”

  米尔纳从未取得博士学位。他曾说,自己一直没有博导,只有“自己博导自己”。他开始在计算逻辑方面越走越深。“用机器逻辑来证实定理,用逻辑来弄懂机器在干什么……这个双重关系启发了我,显然这个关系并非那么简单”他曾说道,“这并非只是‘我咬了你,你咬了我’的正反关系,电脑说:‘我要把你的逻辑自动化’,而逻辑则说,‘我要告诉你,你的程序是什么意思’,这是两个非常不同的关系。”

  3 给计算机科学打地基

  “米尔纳的主要三个成就是LCF自动定理证明,ML编程语言和并发理论,每一个方面都是对计算机科学发展至关重要的推进。”戈尔顿说。

  ML是一种函数式编程语言,特别适用于描述、表达推理与证明过程。米尔纳一直致力于使ML国际化和标准化。ML虽然不是广泛应用的语言,但是它影响了其他计算机语言和大型软件,甚至如推特、维基百科等重要工具的出现。

  米尔纳先后在城市大学、斯旺西大学、斯坦福大学、爱丁堡大学和剑桥大学呆过。他在爱丁堡大学任教20多年,并于1986年创建了著名的计算机科学基础实验室,1995年,他又成为剑桥大学计算机系的首任系主任。

  米尔纳一直支持理论和实践结合的计算机科学发展,他曾说:“不要丢失链接!”(Don’t lose the link!),“链接”是一个双关语,一方面是一个计算机专业术语,另一方面则指理论与实践的联系。

  米尔纳在斯坦福大学期间,互联网在邻校加州大学蓬勃发展起来,而他也很快在并发计算方面对网络做出突出贡献。“并发计算简单地说就是网络上的计算,”林惠民介绍,计算机科学从上世纪30年代开始发展,到了上世纪五六十年代,研究的都是单台机器上的运算。到了上世纪70年代,网络出现,计算需要同时在多台计算机上进行,“这需要很多机器相互协作才能做好,而网络上机器之间只能通过通信实现协作,这非常难,人们这时才开始意识到了挑战。”

  在并发计算中,传统基于“函数”的理论不再适用,计算主体在与外界不断的交互中完成所指定的计算任务,米尔纳是并发理论——进程代数的创始人之一。1991年,米尔纳因在并发理论等方面的成就获得了计算机领域的最高荣誉图灵奖。

  “人们住在房子里,看到的是漂亮的装修,但却看不到打地基的人的工作;可是如果没有了地基,就不会有房子和装修。米尔纳做的就是计算机科学中打地基的工作,一般人看不到,但却极其重要。”林惠民说。

  【追思】

  米尔纳不是个“宅男”

  我曾于上世纪80年代在爱丁堡大学计算机科学基础实验室工作。那时这个实验室刚刚成立,米尔纳是第一任主任。他是以认真严谨出名的计算机科学家,一个东西做出来,一定要搞到一点问题都没有了才发表。

  现在的年轻人可能会把整天与计算机打交道的人称为“宅男”。但米尔纳可不是一个书呆子。我第一次去他家,吃饭时他太太说,罗宾爱好木匠活,这张餐桌就是他自己动手做的。罗宾则兴致勃勃地谈起怎么设计、加工、装配……他说最重要的是设计,“这和建立一个进程代数没两样”。米尔纳常在家里举行派对,有一次让我负责煮“大锅饭”,够三四十人吃。我从来没有做过这么多饭,他则幽默地说:“中国人煮米饭,准是万无一失。”他弹得一手好钢琴,派对上,往往是他弹琴,他的太太拉小提琴。

  2005年,米尔纳第二次来中国访问,在中科院软件所计算机科学国家重点实验室讲学。其间和实验室的研究生一起去爬慕田峪长城,回程时,他执意要和年轻人一起坐滑道下来,这可是上了七十岁的图灵奖得主,把我紧张坏了。平安到达山脚后,米尔纳像个小孩一样得意之极。

  ——林惠民(中科院软件研究所计算机科学国家重点实验室研究员,中科院院士)

  采写/本报记者 金煜

新京报报料邮箱:67106710@bjnews.com.cn