号称计算机领域经典必读的著作你都读过哪些,例如《计算机程序设计艺术》系列?近日,这套书的作者高德纳(DonaldKnuth)在接受纽约时报采访时,谈到了自己对于这部已投入五十载心血作品的反思。自幼便显露非凡智力的算法大师高德纳,是美国著名计算机科学家、斯坦福大学电脑系荣誉教授,36岁便凭借未完的《计算机程序设计艺术》捧走图灵碗,曾是最年轻的图灵奖获得者。他被誉为现代计算机科学的鼻祖、算法领域的精神导师,在计算机科学及数学领域发表了多部影响力深远的论文和著作,同时还是TeX和Metafont排版系统的发明人,更与EdsgerWybeDijkstra并称为我们这个时代最伟大的计算机科学家。除了写书,高德纳同时还是一位音乐家、作曲家、管风琴设计师……作为一个不折不扣的完美主义者,高德纳近乎偏执地对自己提出了严苛的要求——精益求精的作品、严密的时间安排,乃至文学层面的追求,甚至曾以排版工具太差破作品之美为由宣布歇笔。这也导致《计算机程序设计艺术》的下一册迟迟“难产”,已然拖过了原定计划中的“圣诞”之期。关于完结,更是预留了未来二十五年。如今已是80高龄的他,继续玩技术、玩音乐、玩游戏、写小说——做一切“快乐”的事。最后,套用一句高德纳自传开头的话:“DonaldKnuth真的仅仅是一个人吗?”
作者
SiobhanRoberts译者
弯月责编
仲培艺出品
CSDN
以下为译文:
近乎偏执的完美主义者
半个世纪以来,斯坦福大学的计算机科学家DonaldKnuth已然成为算法领域的精神领袖。说起他的外貌,倒是与星球大战中的尤达颇有几分相似,只不过他身高6英尺4英寸(约1.93米),还戴了副眼镜。
DonaldKnuth在加利福尼亚州斯坦福的家中
图片来源:纽约时报BrianFlaherty他是个众所周知的极端完美主义者,甚至愿意为任何指出他的书中错误的人支付报酬。
他是《TheArtofComputerProgramming》(中译本《计算机程序设计艺术》)一书的作者,该书共有四卷,也是他一生的杰作。第一卷首发于年,年该合集(售价约为美元)被《美国科学家(AmericanScientist)》杂志评选为20世纪最重要的科学类专著,一起被入选该书单的还包括《TheAutobiographyofCharlesDarwin》(达尔文自传)的特别版、汤姆·沃尔夫的《太空英雄》(TheRightStuff)、雷切尔卡逊的《寂静的春天》(SilentSpring)以及阿尔伯特·爱因斯坦、约翰·冯·诺伊曼和理查德·费曼的专著。
《计算机程序设计艺术》出版了一百多万册,是计算机领域的圣经。Google的研究主管PeterNorvig曾评论称:“这本书就像一本真正的圣经,内容很长而且很全面,其他书籍都无法比拟。”该书的第一卷一共有页,书的后封面上还印有比尔·盖茨的推荐语:“如果你能够看懂这本书的所有内容,那么欢迎给我发来简历。”
《计算机程序设计艺术》1-4卷
图片来源:纽约时报CreditBrianFlaherty
第一卷开头有一段摘录自《McCallsCookbook》的话:
你们写了几千封信要求我们出版的那本书来啦。我们花了很多年的时间反复检查书中这不计其数的食谱,只为给您带来最好、最有趣又完美的内容。
这本书讲的是数字时代的基石——算法,尽管Knuth博士认为算法早在年前就诞生于巴比伦的石板上。Knuth是一位受人尊敬的算法专家,他的名字与该领域一些最重要的发展息息相关,例如Knuth-Morris-Pratt字符串搜索算法。该算法设计于年,它可以在文本中查找所有给定的单词或任何字母组合——例如,在你按下Command+F的时候来查找文档中的关键字时,采用的就是这种算法。
如今,Knuth博士已然80岁高龄了,但工作时的他每每穿得像个年轻的极客:长袖T恤外套一件短袖T恤,再配上条牛仔裤,每年这个时候他都是这种打扮。早些年,他总是和机器打交道,写一些原始的二进制代码。
Norvig博士说:“Knuth证明了,整个计算机系统,一直到机器代码级别的所有内容都是可理解的。”当然,随着现在算法越来越深入日常的方方面面,普通程序员不再有时间去“摆弄”那些二进制的东西,而是整天与各种抽象的层次结构和一层又一层的代码打交道,经常要把从各个代码库中拿来的代码串在一起。但是,真正优秀的工程师偶尔还是会深入研究底层代码。
在加利福尼亚州山景城举行的GoogleTrips团队会议上,Norvig博士说:“在Google,有时我们只是把东西整合在一起,但是更多时候,如果你为数十亿用户提供服务,那么效率就很重要了。效率提高10%就可以创造数十亿美元的价值,为了获得足够高的效率,你必须了解底层的工作原理。”
Knuth博士在加州理工学院他于年获得了该校的博士学位,图片来源:JillKnuth
AndreiBroder是Google杰出的科学家,也曾是Knuth博士的研究生,他在会议期间表示:“我们希望为我们正在做的事情提供一些理论基础依据。我们不希望我们的算法变得轻浮、草率或二流。我们不希望其他算法主义者说,‘你们这些家伙是白痴’”。
GoogleTrips是一款创建于年的应用,它采用了“定向算法”,用于绘制一天的推荐旅游活动。该团队正致力于“最大限度地提高某一次旅行活动的质量”(