ALGOL 语言

来自计算思维百科
小虾同学讨论 | 贡献2015年11月26日 (四) 16:57的版本

(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索

ALGOL是算法语言(ALGOrithmic Language)的缩写。从设计之初,ALGOL就以算法描述作为主要目的,其语法设计清晰严格,虽然语言本身没有被广泛的使用,但它是许多现代程序语言的概念基础。从某种意义上说,很多现代语言都可以称为“类ALGOL”语言。同时,目前常用于算法描述的伪代码,其语法风格也主要是从ALGOL演变来的。

1958年,一群欧洲和美国科学家在瑞士苏黎世联邦理工学院召开的一次会议上提出了一个新的语言:International Algorithmic Language (IAL),后来被命名为ALGOL 58。约翰·巴克斯(John Backus)为ALGOL 58 设计了用来描述程序设计语言的巴克斯范式(Backus normal form)。

1960年1月,在巴黎召开的一次由多位著名欧洲和美国计算机科学家参加的会议上提出了ALGOL 60。丹麦计算机科学家彼得·诺尔(Peter Naur)为ALGOL 60修改和扩充了巴克斯范式,这就是著名的BNF范式(Backus Normal Form)。ALGOL 60会议的参加者可谓星光闪耀,包括1966年第一位图灵奖得主艾伦·佩利(Alan Jay Perlis)(图 11)、1971年图灵奖得主约翰·麦卡锡(John McCarthy)(图 12)、1977年图灵奖得主约翰·巴克斯(John Backus)、2005年图灵奖得主彼得·诺尔(Peter Naur)(图 13)以及1972年图灵奖得主迪杰斯特拉(Edsger Wybe Dijkstra)的博士导师Adriaan van Wijngaarden等。ALGOL 60是程序设计语言发展史上的一个里程碑,它标志着程序设计语言成为一门独立的科学学科,并为后来软件自动化及软件可靠性的发展奠定了基础。

10.3.11.png

图11 艾伦•佩利(Alan Jay Perlis)(来源于图灵奖官方网站)

10.3.12.png

图12 约翰•麦卡锡(John McCarthy)(来源于维基百科)

10.3.13.png

图13 彼得•诺尔(Peter Naur)(来源于维基百科)

ALGOL 68 对ALGOL 60作了进一步的扩充。有趣的是,瑞士苏黎世联邦工业大学的尼克劳斯·维尔特(Niklaus Wirth)先是在ALGOL 60的基础设计了ALGOL W并希望以之作为ALGOL 60的下一代。但是ALGOL W并没有被ALGOL 68委员会接纳。尼克劳斯·维尔特离开了这个委员会随后设计了Pascal语言,并获得了1984年图灵奖。