2020图灵奖出炉!龙书作者获奖,是他们让计算机看懂码农代码
刚刚,计算机界的诺贝尔奖 ——图灵奖出炉!
国际计算机协会(ACM)官宣将2020年图灵奖授予哥伦比亚大学计算机科学名誉教授 Alfred Vaino Aho 和斯坦福大学计算机科学名誉教授 Jeffrey David Ullman,以表彰他们在编程语言实现(programming language implementation)领域基础算法和理论方面的成就。
除了对编程语言实现本身的贡献以外,这两位教授还著有几本此领域的经典教材,深刻影响了数代计算机科学家,以及广大的程序猿。
可以说,是他们的编译技术才使得计算机能看懂人类的编程语言。
Alfred Vaino Aho是哥伦比亚大学的Lawrence Gussman荣誉教授。他于1995年加入哥伦比亚大学计算机科学系。在加入哥伦比亚大学之前,Aho曾在贝尔实验室担任计算科学研究副总裁,在该实验室工作了30多年。Aho毕业于多伦多大学,之后获得了普林斯顿大学电气工程/计算机科学的硕士学位和博士学位。
他是美国国家工程学院、美国艺术与科学学院和加拿大皇家学会的会员。他同时也是ACM、IEEE、贝尔实验室和美国科学发展协会的会员。
Aho荣获过数不胜数的荣誉,包括IEEE约翰·冯·诺依曼奖章和NEC C&C基金会C&C奖等等大奖。
Jeffrey David Ullman 是斯坦福大学 W. Ascherman名誉教授,同时也是Gradiance Corporation的CEO,该公司是一个包含各种计算机科学主题的在线学习平台。
Ullman在普林斯顿大学获得计算机科学博士学位,他曾于1969年至1979年在普林斯顿大学任教,之后他于1979年加入斯坦福大学。他还曾于1969年至1979年在普林斯顿大学任教,并于1966年至1969年担任贝尔实验室的技术人员。
Ullman是ACM会员、美国国家工程学院、美国国家科学院和美国艺术与科学学院的会员。
Ullman获得过的荣誉包括EEE冯诺依曼奖章、NEC C&C基金会C&C奖,Donald E. Knuth奖和ACM Karl V. Karlstrom杰出教育家奖。
在这个世界上运行着的每个程序,从手机、汽车上的程序,到在大型Web公司内部的大型服务器中运行的程序,都是由人类使用高级编程语言编写、然后编译为较低级的代码交给机器汇编执行。这些编译技术很多都源于Aho和Ullman两人。
Aho和Ullman从1967年在贝尔实验室开始合作,并持续了几十年,为编程语言理论和实现以及算法设计和分析奠定了基础。他们通过技术贡献和编写有影响力的教科书,为编程语言编译器领域做出了广泛而根本的贡献。他们在算法设计和分析技术方面的早期合作为这一时期出现的计算机科学的理论核心提供了重要的方法。
ACM主席Gabriele Kotsis表示:“计算机编程的实践以及日益先进的软件系统的发展为我们在过去五十年来在社会中经历的几乎所有技术转型奠定了基础。”
“尽管无数的研究人员和从业人员为这些技术做出了贡献,但Aho和Ullman的工作尤其具有影响力。他们帮助我们了解了算法的理论基础,并规划了编译器和编程语言设计方面的研究和实践课程。自1970年代初以来,Aho和Ullman一直是思想领袖,直到今天,他们的工作已经指导了几代程序员和研究人员。”
Google高级研究员兼Google AI高级副总裁Jeff Dean补充道:“ Aho和Ullman建立了关于算法、形式语言、编译器和数据库的基础思想,这些思想对当今编程和软件领域的发展至关重要。”
“他们还解释了这些不同学科之间是如何紧密联系的。Aho和Ullman引入了关键技术概念,包括特定算法。在计算机科学教育方面,他们的教科书已成为培训学生、研究人员和从业人员的黄金标准。”
数十年合作之谊
在加入贝尔实验室之前,Aho和Ullman都在普林斯顿大学获得了博士学位,他们从1967年到1969年在该实验室合作。在这期间,他们的早期工作包括开发用于分析和翻译编程语言的高效算法。
1969年,Ullman开始了学术界的职业生涯,最终加入了斯坦福大学,而Aho在贝尔实验室呆了30年,之后才加入哥伦比亚大学。尽管在不同的机构工作,Aho和Ullman持续了数十年的合作,在此期间,他们共同撰写了书籍和论文,并介绍了用于算法、编程语言、编译器和软件系统的新颖技术。
程序员的枕边书(“吃灰”书)
Aho和Ullman共同撰写了九本有影响力的书(包括第一版和后续版本)。他们最著名的两本书包括:
(1)《计算机算法设计与分析》(1974)
《 The Design and Analysis of Computer Algorithms》
这本书由Aho、Ullman和John Hopcroft(1986年图灵奖得主)合著,被认为是该领域的经典著作,并且是十多年来计算机科学研究中被引用最多的书籍之一。
在计算机科学仍是一个新兴领域时,它已成为全世界算法课程的标准教科书。除了将自己的研究成果纳入算法之外,《计算机算法的设计和分析》还引入了随机存取机(RAM)作为使用递归关系分析计算机算法的时空复杂度的基本模型。RAM模型还将不同的单独算法编码为通用设计方法。
本书介绍的RAM模型和通用算法设计技术现已成为标准计算机科学课程的组成部分。
(2)《编译程序设计原理》(1977)
《Principles of Compiler Design 》(1977)
由Aho和Ullman共同撰写的这本有关编译器技术的权威书籍将形式语言理论和基于语法的翻译技术集成到了编译器设计过程中,由于其封面设计,通常被称为“龙书”。(虽然被一些程序员经常放在书架或者不知哪个角落里吃灰)
这本书清晰地列出了将高级编程语言转换为机器代码,模块化整个编译器构造。书中囊括了作者对词法分析高效技术、语法分析技术和代码生成做出的算法贡献。
这本书的最新版本《编译原理》(与Ravi Sethi和Monica Lam合著)于2007年出版,至今仍是有关编译器设计的标准教科书。
https://awards.acm.org/about/2020-turing
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。