彼得·诺尔

时间:2023-12-30 04:40:22编辑:小周

彼得·诺尔的个人简介

彼得·诺尔(Peter Naur,1928年10月25日-),出生于丹麦,计算机科学家,曾任哥本哈根大学的教授。

他开发了BNF范式,改进了编程语言,并投入了ALGOL60的开发工作。他曾被授予C.A.Hagemanns金质奖章、Rosenhjaer奖,也曾是图灵奖得主。

基本内容

彼得·诺尔(英语:Peter Naur,1928年10月25日-),生于丹麦腓特烈斯贝,计算机科学家。他开发了BNF范式,改进了编程语言。他也投入了 ALGOL 60的开发工作。曾任哥根哈根大学教授,为2005年图灵奖得主,也是目前唯一一位丹麦籍的得主。

从天文学家到计算机科学家

1957年取得天文学博士学位。

他将巴科斯范式导入ALGOL 60中,并进一步发展它。

诺尔1928年生于丹麦首都哥本哈根近郊的弗雷德里克斯伯格(Frederiksberg),1949年在哥本哈根大学取得天文学硕士学位。1950~1951年,他在英国剑桥大学进修期间,用过由威尔克斯主持研制的世界上第一台存储程序式数字计算机EDSAC,学到了不少有关计算机和在计算机上编程的知识。但他的主要兴趣仍在天文学方面。1952―1953年他在芝加哥大学的Yerkes天文台和McDonald天文台当助理研究员期间,由于天文学研究中有大量计算,曾到IBM公司的沃森研究中心进修,这使他获得了更多的计算机知识。1953年回到丹麦以后,他到哥本哈根天文台工作。由于开展天文研究的需要,他受命设计了丹麦的第一台计算机DASK,同时也完成了他天文学研究的博士论文,1957年取得哥本哈根大学天文学博士学位。

ALGOL 58报告公布以后,受到广泛关注,但它的不足和缺点也受到批评。1960年1月11日,在IBM(欧洲)的财政支持下,举行了一次重要的会议,对ALGOL 58进行修改。诺尔不但参加了这个会议,成为新的ALGOL(即ALGOL 60)文本的执笔人,而且对巴克斯提出的描述语言语法的方案进行了仔细审阅和修改,使之完善,从而诞生了BNF。

1961年,诺尔在由他设计的DASK上实现了ALGOL。这是世界上首批ALGOL实现中的一个。

虽然参与了这么多活动,做了这么多工作,也做出了这么大贡献,但诺尔在这段时间里仍主要关心天文学,计算机只是由于研究天文学的需要而介入的,直到约1964年左右,诺尔对计算与数据处理的兴趣才超出对天文学的兴趣而占了上风。1966年,他发明了一个新的单词――datalogy。丹麦的计算机学会的正式名称就叫Danish Society of Datalogy,他是这个学会的第一任主席。1969年,他说服哥本哈根大学建立起了计算机专业,他又是该校的第一位计算机教授。

鉴于诺尔在数据处理技术方面为国家所作出的贡献,丹麦政府在1963年授予他C.A.Hagemanns金质奖章,1966年又授予他Rosenhjaer奖。IEEE则因他“对计算机语言开发”(For computer language development)所作出的贡献授予他计算机先驱奖。

1986年计算机先驱奖获得者彼得·诺尔(Peter Naur)这个名字对于从事计算机科学技术的人来说是不陌生的,因为大家常用的描写高级语言语法的元语言BNF的全称是“巴克斯―诺尔范式”,这个范式是由巴克斯首创,但经诺尔改进而成的。但大家未见得知道,诺尔原本是天文学家,“阴差阳错”地走进了计算机领域并成为对计算机技术的发展起了重大作用的科学家。

传奇生涯

《纽约时报》报道,2006年3月1日,国际计算机协会(ACM)宣布彼得.诺尔为2005年A.M.图灵奖的获得者。这个奖项是由于诺尔在定义Algol 60这种程序设计语言方面的先驱性工作而颁发给他的。Algol 60是许多后来的程序设计语言,包括今天那些必不可少的软件工程工具的原型。图灵奖,被认为是“计算科学界的诺贝尔奖”,于 1966年首次颁发,是以英国数学家图灵(Alan M.Turing)命名的。奖金额度为100,000美元,由英特尔公司提供赞助。

诺尔博士在1960年是具有极高影响的《算法语言Algol 60报告》的主编。这份报告的优雅、一致和连贯使他声名鹊起,并被认为是创造了这种算法语言的强大功能和简易性的重要贡献者。这份报告先驱性地使用了BNF范式(Bcakus-Naur-Form)用以定义程序设计语言的语法。BNF现在是定义一种计算机语言的标准方式。诺尔还因为他对于编译设计的贡献、以及在计算机程序设计方面的技巧与实践而受到表彰。

“诺尔博士的Algol 60体现了算法表达中的优雅和简明的概念,”英特尔高级研究员和首席技术主管查斯廷.拉纳(Justin Rattner)说,“多年以来,计算机语言已经被各种特性和功能所充斥,这使得计算机越来越难学习,效力越来越低。未来的语言设计者正面临着今天在程序设计方面的最大挑战,如通用目的、多线程计算等。这个奖项应该鼓励他们达到与Algol 60同样优雅和简明的水平,而这正是Algol 60的特点。”

计算科学诞生的标志

2002年,前图灵奖得主Edsger Dijbstra把Algol 60的发展描述为“一个绝对的奇迹”,标志着他所说的“计算科学”的诞生,因为Algol 60首次显示了自动计算能够并且应当成为学术关注的主题。 Algol 60的发展是一群极具天赋的人才的工作成果,其中包括几位以后的图灵奖获得者。

诺尔博士对于Algol 60的贡献是创新性的。另一位前图灵奖得主约翰.班卡斯(John Backus)认为诺尔是推动定义Algol 60的“强劲的智力力量”。他评论说,诺尔的Algol 报告编辑工作和他对于正式提出Algol 60的1960年1月的会议的充分准备,“真正使得Algol 60成为现在这种语言。如果他没有做这些工作,Algol 60就不会产生。”

在Algol 60报告出版之前,计算机语言是通过说明性的使用手册和编译代码本身而非正式地定义。这个报告通过使用BNF来定义语法,并用精心选择的说明文字定义语义,从而简洁、有力而又清晰。17页长的Algol 60报告展示了对优雅清晰的语言的完美定义,这种语言可用于计算机之间交流,也可用于人类之间交流。这种语言精心地做到不依赖于任何特定的计算机的属性。这种新的语言对于编译程序作者是一个很大的挑战。诺尔博士继续和他人合著了《GIER Algol 编译程序》(丹麦开发的晶体管电子计算机被称为GIER),这是第一批能够完全准确地处理语言的强大过程机理的编译程序之一。

“诺尔博士的贡献是计算领域的一个分水岭,改变了我们定义程序设计语言的方式,”2005年图灵委员会的主席,微软研究院的詹姆斯.格瑞(James Gray)说,“许多我们现在认为是理所当然的程序设计是在Algol 报告中提出的,它提出了一种简明的块结构语言,改善了我们的算法表达方式。”

诺尔博士在将软件工程建立为一种学科方面起了很大作用。他通过他的主张和结构化编程方面的工作,在编写准确程序的方法学上作出了先驱性的贡献,而他的主张使程序员表达他们的假设成为可能。格瑞说:“他的工作,尽管是正式的和精确的,但表现出了非同寻常的对于限制的理解和对形式以及精确度的运用。”通过这些活动以及开设了一门有影响力的计算机科学课程,诺尔博士为构建当今计算知识和技巧的基本构成部分作出了贡献。

实际运算和应用方面的早期经验

诺尔博士在1949年获得了哥本哈根大学的magister学位(相当于硕士学位),后来又回校于1957年获得天文学博士学位。在1950~1951学年,诺尔博士在英国剑桥国王学院学习天文学,然后来到美国进一步开展研究工作。这个工作涉及到使用早期的计算机(以EDSAC开始,这是世界上第一台实用的存储程序的电子计算机)用于天文学计算。1953年,他回到丹麦在哥本哈根天文台做科研助理。

1959年他加入了丹麦的第一家计算机公司Regnecentralen的编译程序设计小组。在那里他是13人的国际Algol 60小组报告的主编,正是这个报告定义了Algol 60。他在1969年成为了哥本哈根大学计算学院的教授,并于1998年退休。

诺尔博士1963年获得了丹麦技术大学颁发的G.A.Hagemann金奖,1966年丹麦电台的Jens Rosejaer奖,以及1986年的电学和电子工程师学会颁发的计算机先驱奖。

ACM将于2006年5月20日在加州的旧金山Westin街Francis饭店举行的每年一度的ACM颁奖宴会上颁发图灵奖。

著作

《计算――人类的重要活动》(Computing:a Human Activity,Addi.son·Wesley,1992)

《逻辑和规则的奥妙》(Knowing and Mystique of Logic and Rules,Kluwer Academic Pr.,1995)

上一篇:贝拉四世

下一篇:代雨丹