2020图灵奖重磅出炉!编程语言先驱荣获大奖,是他们解放了一代又一代程序员...

2020图灵奖重磅出炉!编程语言先驱荣获大奖,是他们解放了一代又一代程序员..._第1张图片

计算机界的诺贝尔奖 ——100万美金的图灵奖出炉啦!

国际计算机协会(ACM)官宣将2020年图灵奖授予哥伦比亚大学计算机科学名誉教授 Alfred Vaino Aho 和斯坦福大学计算机科学名誉教授 Jeffrey David Ullman,以表彰他们在编程语言实现(programming language implementation)领域基础算法和理论方面的成就。

除了对编程语言实现本身的贡献以外,这两位教授还著有几本此领域的经典教材,深刻影响了数代计算机科学家,以及广大的程序猿。 

可以说,是他们的编译技术才使得计算机能看懂人类的编程语言。

2020图灵奖重磅出炉!编程语言先驱荣获大奖,是他们解放了一代又一代程序员..._第2张图片

图灵奖以英国数学家艾伦·M·图灵(Alan M. Turing)的名字命名,他阐明了计算的数学基础和局限性,并且是第二次世界大战期间对Enigma密码进行联合密码分析的关键贡献者。自1966年成立以来,图灵奖一直授予那些创造了推动信息技术行业发展的系统和基础理论基础的计算机科学家和工程师。

1

获奖者简介

2020图灵奖重磅出炉!编程语言先驱荣获大奖,是他们解放了一代又一代程序员..._第3张图片

Alfred Vaino Aho是哥伦比亚大学的Lawrence Gussman荣誉教授。他于1995年加入哥伦比亚大学计算机科学系。在加入哥伦比亚大学之前,Aho曾在贝尔实验室担任计算科学研究副总裁,在该实验室工作了30多年。Aho毕业于多伦多大学,之后获得了普林斯顿大学电气工程/计算机科学的硕士学位和博士学位。

他是美国国家工程学院、美国艺术与科学学院和加拿大皇家学会的会员。他同时也是ACM、IEEE、贝尔实验室和美国科学发展协会的会员。

Aho荣获过数不胜数的荣誉,包括IEEE约翰·冯·诺依曼奖章和NEC C&C基金会C&C奖等等大奖。

Aho在其博士学位论文中创建了索引语法和嵌套堆栈自动机,作为扩展上下文无关语言功能的工具,但保留了它们的许多可判定性和闭包属性。索引语法已被用于建模并行重写系统,特别是在生物学应用中。

在贝尔实验室工作期间,他设计了有效的正则表达式和字符串模式匹配算法,并在Unix工具egrep和fgrep的第一个版本中实现了该算法。

Aho还因与Peter J. Weinberger和Brian Kernighan共同编写AWK编程语言而闻名(“ A”代表“ Aho”)。

2020图灵奖重磅出炉!编程语言先驱荣获大奖,是他们解放了一代又一代程序员..._第4张图片

Jeffrey David Ullman 是斯坦福大学 W. Ascherman名誉教授,同时也是Gradiance Corporation的CEO,该公司是一个包含各种计算机科学主题的在线学习平台。

Ullman在普林斯顿大学获得计算机科学博士学位,他曾于1966年至1969年担任贝尔实验室的技术人员,并于1969年至1979年在普林斯顿大学任教,之后他于1979年加入斯坦福大学。

Ullman的研究兴趣还包括数据库理论、数据集成、数据挖掘和使用信息基础结构的教育。他是数据库理论领域的创始人之一,并且是整整一代人的博士生导师,他的这些学生后来也独立地成为了学术界有名的数据库理论家。

Ullman指导过的博士生当中还有产业界赫赫有名的谷歌联合创始人——谢尔盖·布林。

Ullman是ACM会员、美国国家工程学院、美国国家科学院和美国艺术与科学学院的会员。

Ullman获得过的荣誉包括EEE冯诺依曼奖章、NEC C&C基金会C&C奖,Donald E. Knuth奖和ACM Karl V. Karlstrom杰出教育家奖。

 

2

编译器:连接人类语言和计算机语言

1963年,当Alfred Aho和Jeffrey Ullman在普林斯顿大学研究生院开学的第一天在登记线等候时相遇时,计算机科学仍然是一个陌生的新世界。

使用计算机需要一组深奥的技能,通常只供受过训练的工程师和数学家使用。但是今天,部分归功于Aho和Ullman的工作,几乎任何人都可以使用计算机并对计算机进行编程以执行新任务。

在这个世界上运行着的每个程序,从手机、汽车上的程序,到在大型Web公司内部的大型服务器中运行的程序,都是由人类使用高级编程语言编写、然后编译为较低级的代码交给机器汇编执行。

在计算机中,编译器是一种计算程序,它将以编程语言或计算机语言(源语言)编写的源代码转换为另一种计算机语言(目标语言,通常具有称为目标代码或机器代码的二进制形式)。转换源代码的最常见原因是创建可执行程序。

用高级编程语言编写的任何程序都必须先编译成目标代码,然后才能执行,因此所有使用这种语言的程序员都必须使用编译器或解释器。因此,编译器对现代程序员来说至关重要、不可缺少。对编译器的改进可能会带来可执行程序中的大量功能改进。

早期计算机的软件主要是用汇编语言编写的。直到在不同类型的CPU上重用软件的收益变得足够大,人们才开始编写编译器,并发明了高级编程语言。

对于程序员来说,使用高级编程语言通常通常会更有效率,并且用高级语言编写的程序可以在不同类型的计算机上重用 。即便如此,编译器还是需要一段时间才能建立起来,因为它们生成的代码性能不如手写汇编语言,它们本身就使开发项目望而生畏。

早期计算机的内存容量非常有限,在实现编译器时也产生了许多技术问题。在1950年代末,人们首次提出了与机器无关的编程语言。随后,人们开发了几种实验编译器。第一个实现的编译器由Grace Hopper于1952年为A-0编程语言编写,然而该系统起着加载器或链接器的作用,而不是现代的编译器概念。现代意义上的第一个自动编码和编译器由Alick Glennie于1952年在曼彻斯特大学为Mark 1计算机开发。

 

3

数十年合作生涯

Aho和Ullman从1967年在贝尔实验室开始合作,并持续了几十年,为编程语言理论和实现以及算法设计和分析奠定了基础。他们通过技术贡献和编写有影响力的教科书,为编程语言编译器领域做出了广泛而根本的贡献。他们在算法设计和分析技术方面的早期合作为这一时期出现的计算机科学的理论核心提供了重要的方法。

ACM主席Gabriele Kotsis表示:“计算机编程的实践以及日益先进的软件系统的发展为我们在过去五十年来在社会中经历的几乎所有技术转型奠定了基础。”

“尽管无数的研究人员和从业人员为这些技术做出了贡献,但Aho和Ullman的工作尤其具有影响力。他们帮助我们了解了算法的理论基础,并规划了编译器和编程语言设计方面的研究和实践课程。自1970年代初以来,Aho和Ullman一直是思想领袖,直到今天,他们的工作已经指导了几代程序员和研究人员。”

微软研究员Krysta Svore说,如果没有他们的工作,“我们将无法为手机编写应用程序。”

“他们的影响无处不在,”Rust编程语言的创建者Graydon Hoare说,“他们的两本书都放在我的书架上。”

Svore博士目前正在研究量子计算机,量子计算机所依赖的物理行为与传统计算机完全不同。但是,当他们为这些机器创建编程语言时,仍然会借鉴两位新晋图灵奖获得者的工作。

 

4

程序员的枕边书(“吃灰”书)

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 》

由Aho和Ullman共同撰写的这本有关编译器技术的权威书籍将形式语言理论和基于语法的翻译技术集成到了编译器设计过程中,由于其封面设计,通常被称为“龙书”。(虽然被一些程序员经常放在书架或者不知哪个角落里吃灰)

这本书清晰地列出了将高级编程语言转换为机器代码,模块化整个编译器构造。书中囊括了作者对词法分析高效技术、语法分析技术和代码生成做出的算法贡献。

这本书的最新版本《编译原理》(与Ravi Sethi和Monica Lam合著)于2007年出版,至今仍是有关编译器设计的标准教科书。

2020图灵奖重磅出炉!编程语言先驱荣获大奖,是他们解放了一代又一代程序员..._第5张图片

谷歌AI掌门人 Jeff  Dean在推特上对他们二人表示了祝贺,并回忆道:

“当我在研究生院参加编译器课程时,我一直怀念那段使用“龙书”作为教科书的记忆,他们已经教育了成千上万的计算机科学家。”

2020图灵奖重磅出炉!编程语言先驱荣获大奖,是他们解放了一代又一代程序员..._第6张图片

他还补充道:“ Aho和Ullman建立了关于算法、形式语言、编译器和数据库的基础思想,这些思想对当今编程和软件领域的发展至关重要。”

“他们还解释了这些不同学科之间是如何紧密联系的。Aho和Ullman引入了关键技术概念,包括特定算法。在计算机科学教育方面,他们的教科书已成为培训学生、研究人员和从业人员的黄金标准。”

5

编译器研究早已摘得首届图灵奖

在ACM官网,AI科技评论找到了下面这个列表,其对历届获奖者进行了关键词分类。比如,今年的两位获奖者就被归入“编译器”(Compiler)一类。

2020图灵奖重磅出炉!编程语言先驱荣获大奖,是他们解放了一代又一代程序员..._第7张图片

可以看到,在编译器一类中还有多位其他获奖者,包括1966年获奖的Alan J Perlis、1987年获奖的John Cocke、2006年获奖的Frances Elizabeth Allen。也就是说,编译器研究已经四次摘取图灵奖桂冠。

Alan Jay Perlis是美国计算机程序设计领域的科学家,实际上,他是首届图灵奖获得者。获奖理由是由于其在高级程序设计技术和编译器构造方面的影响,即主要指在Algol 58和Algol 60的形成和修改过程中的核心和关键作用。

2020图灵奖重磅出炉!编程语言先驱荣获大奖,是他们解放了一代又一代程序员..._第8张图片

1960年1月,Alan Jay Perlis在巴黎举行的有全世界一流软件专家参加的讨论会上,发表了"算法语言Algol 60报告",确定了程序设计语言Algol 60。Algol60语言的第一个编译器由艾兹赫尔·戴克斯特拉来实现。1962年,艾伦·佩利又对Algol 60进行了修正。

John Cocke,在电脑架构及编译器最佳化技术方面有重大贡献,因此获得图灵奖。在他主导的IBM 801计划中,首次采用RISC架构,因此被称为RISC架构之父。

2020图灵奖重磅出炉!编程语言先驱荣获大奖,是他们解放了一代又一代程序员..._第9张图片

1975年,他负责领导IBM 801微电脑的开发。在开发中,他提出精简指令集的设计方法。他认为,将指令集的数目加以精简,可以简化处理器架构,同时可以减低硬件成本。经过编译器的最佳化,可以增进运算效率。

Fran Allen作为一名编译器优化领域的先驱,她的成就主要包括编译器的基本原理、代码优化和并行编译等。她是2006年图灵奖得主,是第一位获得此奖的女性科学家。

她在1980年代早期创立了并行翻译(Parallel TRANslation,PTRAN)研究组,致力于研究并行电脑的编译问题。该小组的工作在编译器的并行化方面处于世界领先的位置。她在这些项目中的工作促成了许多目前广泛应用于商业编译器中的程序优化算法和技术。

ACM官网上这些关键词的大小是怎么确定的,AI科技评论尚未搞清楚,可能是受获奖人数影响。

然而,令人迷惑的是,2018年图灵奖获得者、深度学习三巨头并没有被归入“Artificial Intelligence”一类,也没有被归入“Machine Learning”一类,甚至没有被归入任何一类。这......

2020图灵奖重磅出炉!编程语言先驱荣获大奖,是他们解放了一代又一代程序员..._第10张图片

2020图灵奖重磅出炉!编程语言先驱荣获大奖,是他们解放了一代又一代程序员..._第11张图片

我们不是搞人工智能的?也不是搞机器学习的?我们是谁?我们为什么会获得图灵奖?ACM(非官方)表示:这是深度学习的决定,具有不可解释性。

参考链接:

  • https://www.cnet.com/news/turing-award-goes-to-researchers-who-made-programming-easier-and-more-powerful/?PostType=link&ServiceType=twitter&TheTime=2021-03-31T09%3A05%3A04&UniqueID=2ECF7418-9200-11EB-8694-64E94744363C&ftag=COS-05-10aaa0b

  • https://www.nytimes.com/2021/03/31/technology/turing-award-aho-ullman.html?partner=IFTTT

  • https://en.wikipedia.org/wiki/Jeffrey_Ullman

  • http://infolab.stanford.edu/~ullman/

  • https://en.wikipedia.org/wiki/Alfred_Aho

  • http://www.cs.columbia.edu/~aho/bio.html

  • https://en.wikipedia.org/wiki/History_of_compiler_construction

  • https://resources.saylor.org/wwwresources/archived/site/wp-content/uploads/2012/01/CS304-1.2.2-COMPILERSHISTORYWIKI.pdf

  • https://en.wikipedia.org/wiki/History_of_programming_languages

  • https://en.wikipedia.org/wiki/Assembly_language

  • https://instant.lvv2.com/html/d14df78a39317cace54d42bcc0586035.html

欢迎添加群助手微信,邀请您加入大佬云集-计算机视觉交流群!

2020图灵奖重磅出炉!编程语言先驱荣获大奖,是他们解放了一代又一代程序员..._第12张图片

???? 长按识别添加,邀请您进群!

你可能感兴趣的:(编译器,编程语言,数据库,人工智能,java)