ALGOL,名称源自算法语言(英语:ALGOrithmic Language)的缩写,是一族指令式编程语言,发展于1950年代中期,对许多其它编程语言产生了重大影响。计算机协会在教科书及学术文章采用此语言做为描述算法的标准语法超过三十年。
由大多数近代编程语言皆使用类似ALGOL的语法来看,ALGOL可与差不多同时期的FORTRAN、LISP及COBOL并列为四大最有影响力的高阶语言。ALGOL被设计用来避免FORTRAN中一些已知的问题,最终引领了许多其它编程语言的兴起,包括PL/I、Simula、BCPL、B、Pascal及C。
ALGOL引入了代码块,并用begin
⋯end
来分隔。它是第一个利用词法作用域实作巢状函式的语言,也是第一个注重形式语言定义的语言,并在ALGOL 60报告中引入了巴科斯范式来作为设计语言形式文法的原则。
ALGOL主要有三种规格,以初次发表的年份命名:
尼克劳斯·维尔特在发展Pascal之前,在ALGOL 60的基础下建立了ALGOL W。ALGOL W本是下一代ALGOL的提议,但ALGOL委员会决定采用更先进复杂的设计,而不是一个简洁化ALGOL 60。
ALGOL 58没有I/O机制。
1960年1月,图灵奖获得者:艾伦·佩利在巴黎举行的有全世界一流软件专家参加的讨论会上,发表了"算法语言Algol 60报告",确定了程序设计语言Algol 60。Algol60语言的第一个编译器由艾兹赫尔·戴克斯特拉来实现。1962年,艾伦。佩利又对Algol 60进行了修正。
Algol 60引进了许多新的概念如:局部性概念、动态、递归、巴科斯-诺尔范式BNF(Backus-Naur Form)等等。
Algol 60是程序设计语言发展史上的一个里程碑,它标志着程序设计语言成为一门独立的科学学科,并为后来软件自动化及软件可靠性的发展奠定了基础。
ALGOL 68的“Hello, World”
begin printf(($gl$,"Hello, world!"))end
Algol W:1966年,IFIP吸收尼克劳斯·维尔特参加对Algol语言进行完善与扩充的工作小组。沃思参加进去以后,提交了一份建议书并由东尼·霍尔等人修改、完善以后形成Algol W。同时还催生了一个新的语言PL360。