图灵奖史上最年轻获奖者高德纳:把一件平常事做到人间极致

作者:苏椰 来源:新京报 发布时间:2010-3-14 10:58:21


图灵奖史上最年轻获奖者高德纳:把一件平常事做到人间极致

        高德纳设置了一个悬赏游戏。如果有人挑出了他编写的TEX程序的错误,他就给挑错者奖励。第一个错误值2.56美元,第二个值5.12美元,第三个值10.24美元。据说,这张10.24美元的支票是他迄今为止为此签出的最后一张。
 
高德纳是美国计算机科学家唐纳德·克努斯( Donald Knuth)的中文名。这位“现代计算机科学的鼻祖”是计算机界的传奇人物。他在年仅36岁时就获得了图灵奖,成为该奖历史上最年轻的获奖者。他的获奖作品《计算机程序设计艺术》原计划出七卷,至今才出到第四卷。尽管如此,它依然与爱因斯坦的《相对论》、狄拉克的《量子力学》、费曼的《量子电动力学》等并列,被《科学美国人》杂志评选为20世纪最重要的12本物理学著作之一。
 
1 早期经历
 
“是男人就得-67”
 
1938年高德纳出生于美国密尔沃基。他的超凡智力在8岁时就显示出来了。当时,一家糖果商在孩子们当中举办了一项有趣的比赛,要求用“Ziegler’s Giant Bar”里面的字母,写出尽可能多的单词。裁判事先准备了一份2500个单词的列表,可小高德纳令人惊讶地写出了4500多个单词。他为学校赢得一台电视机,还为每个同学赢得一根棒棒糖。他的赛后感言是,我还能写出更多。
 
高德纳就读的大学是凯斯理工学院。1956年,他在这里第一次使用了IBM650,并开始学习编程。不久之后,高德纳就对编程有了许多体会。当时高德纳还兼职管理学校的篮球队,于是他编写了一个程序,能够自动评估每名球员的价值,令球队的教练非常欣赏,还引来了CBS电视台。后来高德纳、球队教练和IBM650的合影还被印到了IBM650的宣传册上。1960年,高德纳以公认出色的成就,打破了学校的惯例,同时获得了学士和硕士两个学位。
 
随后,高德纳进入伯克利攻读数学博士学位。在此期间,他的编程生涯也正式开始了。他当时所写的程序中最值得一提的,是对ALGOL60编译器提出的测试方法。ALGOL60经常会因为编译器不成熟而出故障。高德纳编写了一段非常简单的测试程序,江湖人称“Man or boy test”,翻译成中文就是“是男人就得-67”。高德纳说,只要用ALGOL60编译器来编译我的这段程序,如果运行结果等于-67,就说明这个编译器是纯爷们儿。
 
2 获图灵奖
 
盖茨为他“做推广”
 
1963年,25岁的高德纳拿到了博士学位,并留在伯克利任教。在毕业前一年,高德纳已经因为设计编译器而响誉计算机行业。著名的Addison-Wesley出版社向他约稿,请他写一本关于编译器和程序设计方面的书。这本来是很平常的一件事,但不久之后,他就把这件事做成了计算机科学史上的奇观。1962年约的稿,高德纳一直写到1966年还没交。编辑急了,找到高德纳,说这都4年了你写了多少啊。高德纳说,才写3000页手稿。编辑大囧,忙问都这么长了怎么不交稿?答曰,我还没写到正题呢。编辑崩溃了,说那你出个多卷本吧……
 
把一件平常的事做到人间极致,这就是高德纳。他不是故弄玄虚,他的心里攒着一股劲儿,要写一部与牛顿的《自然哲学的数学原理》相媲美的巨著。1968年,《计算机程序设计艺术》(TAOCP)的第一卷正式出版了。这一卷的标题叫《基本算法》,但难度却并不低。据说比尔·盖茨曾经花了几个月的时间读完这一卷,并且做了大量的练习,然后他说,如果你想成为一个优秀的程序员,那就去读这个《基本算法》吧。高德纳本人的说法更犀利:要是看不懂,就别当程序员。
 
同年,高德纳跳槽到斯坦福大学,并当上了教授。一年后,TAOCP第二卷正式出版。1973年,这本书出到了第三卷。这三卷书被计算机界惊为“神作”,在最初的几年内就卖出去100多万套。按照计划,这套书一共是七卷,但是现在刚刚写完三卷,就已是震古烁今。震到什么程度呢,连图灵奖颁奖委员都坐不住了。按照惯例,图灵奖的获奖者都是成就等身,要经过时代的检验。但此时,美国计算机协会便决定立即为其颁发图灵奖。这对高德纳来说,无疑是个殊荣,这一年他只有36岁。至今,他仍保持着图灵奖最年轻获奖者的纪录。
 
3 中途辍笔
 
圆周率充当序列号
 
高德纳在获此殊荣之后,再一次令世界大跌眼镜:他宣布从此歇笔了,因为排版工具太差,破坏了这套书的美。这一动作让外界十分震惊。有人说,高德纳江郎才尽,见好就收;有人说,图灵奖对前三卷的评价过高了,高德纳只好找理由撤了;还有人说,获奖之后停止写作,充分体现了他写书的目的就是为了功利。
 
可高德纳在辍笔的10年间居然创造了三个重要的成果:字体设计系统METAFONT、文学化编程(Literate Programming),以及其中影响最大的排版系统TEX。
 
在Word系统中写科学论文是一件很辛苦的事,你需要调整格式,也很难表现数学式。但是在TEX中,这些麻烦几乎完全不存在,只要载入样式文件,排版就自动完成了。TEX是一场出版界的革命,直到现在仍是全球学术排版的不二规范。
 
TEX作为一个软件产品,也令人叹为观止。它的版本号不是自然数列,也不是年份,而是从3开始,不断逼近圆周率(目前最新版本是3.1415926)。高德纳再一次用行动宣告,这个东西趋近完美,不可能再有什么大的改进了。他还设立了奖金:谁发现TEX的一个错误,就付他2.56美元,第二个错误5.12美元,第三个10.24美元……以此类推。结果直到今天,他也没有为此付出多少钱,可见TEX经过了怎样的千锤百炼。他设置的另一个奖项是找出其著作中错误的人能得到2.56美元,因为“256美分刚好是十六进制的一美元”。据说,获奖者将有他签名的支票视为珍宝,并不兑现。
 
4 回归写作
 
计算机王者归来
 
歇笔十年的高德纳,手捧这三项成果重出江湖,打消了一切质疑。这时他才对十年前的歇笔事件做了一个轻描淡写的解释:一个人要想把事情做得漂亮,就必须要跟上帝保持和谐,现在,上帝终于让我去写四卷了。
 
1992年,高德纳为了专心写作,宣布提前退休,并停用电子邮箱(此人从1975年就开始玩电邮了)。高德纳一共带了28位博士生,他觉得28这个数字很好,于是便宣布不再收学生了。尽管如此,他仍然为想要师从于他的人们留下了一个盼头:他开了一门公开课,每次会提出一个问题,如果谁能快速解出来,高德纳就会为他的博士论文签名。不知道哪位后起之秀能够获得如此殊荣呢,我们拭目以待吧。
 
2008年,在TAOCP的前三卷面市30年之后,第四卷终于面世了。而高德纳自己却已是白发苍苍的古稀老人了。他对计算机科学的热爱,使他为这套丛书耗费了一生的心血。
 
【新知补丁】
 
图灵奖 Turing Award
 
计算机科学界最高奖。美国计算机协会(ACM)于1966年设立,专门奖励那些对计算机事业做出重要贡献的个人。其名称取自计算机科学的先驱、英国科学家阿兰·图灵。目前图灵奖由英特尔公司以及Google公司赞助,奖金为25万美元,一般每年只奖励一名计算机科学家。
 

第1卷首先介绍编程的基本概念和技术,然后详细讲解信息结构方面的内容,包括信息在计算机内部的表示方法、数据元素之间的结构关系,以及有效的信息处理方法。此外,书中还描述了编程在模拟、数值方法、符号计算、软件与系统设计等方面的初级应用。此第3版增加了数十项简单但重要的算法和技术,并根据当前研究发展趋势在数学预备知识方面做了大量修改。 第2卷对半数值算法领域做了全面介绍,分“随机数”和“算术”两章。本卷总结了主要算法范例及这些算法的基本理论,广泛剖析了计算机程序设计与数值分析间的相互联系,其中特别值得注意的是作者对随机数生成程序的重新处理和对形式幂级数计算的讨论。 本书附有大量习题和答案,标明了难易程度及数学概念的使用。 本书内容精辟,语言流畅,引人入胜,可供从事计算机科学、计算数学、计算技术诸方面的工作人员参考、研究和借鉴,也是相关专业高等院校的理想教材和教学参考书。 《计算机程序设计艺术排序和查找(第3卷)(第2版)》内容简介:这是对第3卷的头一次修订,不仅是对经典计算机排序和查找技术的最全面介绍,而且还对第1卷中的数据结构处理技术作了进一步的扩充,通盘考虑了将大小型数据库和内外存储器。它遴选了一些经过反复检验的计算机方法,并对其效率做了定量分析。第3卷的突出特点是对“最优排序”一节作了修订,对排列论原理与通用散列法作了全新讨论。 ——《豆瓣读书》
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值