ALGOL 是20世纪50至60年代由欧美学界联合设计的算法语言,先后有 ALGOL 58、60、68 三个主要版本。它首创块结构、词法作用域和 BNF 语法描述,虽已不再实际使用,却深刻影响了 Pascal、C、Java 等几乎所有现代命令式语言。

| 语言家族 | ALGOL 58 / 60 / 68 |
| 设计机构 | 欧美联合委员会(IFIP 等) |
| 首次发布 | 1958年(ALGOL 58) |
| 里程碑版本 | ALGOL 60(1960年) |
| 主要贡献 | 块结构、BNF、递归 |
| 影响的语言 | Pascal、C、Simula、Ada |
ALGOL(Algorithmic Language,算法语言)是由欧洲与美国计算机学者联合委员会设计的一族编程语言,主要版本包括 ALGOL 58、ALGOL 60 与 ALGOL 68。它被公认为现代命令式编程语言的共同祖先,计算机科学许多基础概念都源于此。
20世纪50年代,Fortran 主要服务于 IBM 机器,学术界希望有一门与具体硬件无关、适合发表和交流算法的通用语言,ALGOL 由此诞生。1960年发布的 ALGOL 60 报告是其中最重要的里程碑,参与者包括约翰·巴科斯(John Backus)、彼得·诺尔(Peter Naur)、约翰·麦卡锡(John McCarthy)等多位后来的图灵奖得主。该报告首次使用巴科斯-诺尔范式(BNF)精确描述语言文法,这一方法至今仍是描述编程语言语法的标准工具。ALGOL 60 长期作为学术论文中描述算法的标准记法,美国计算机协会(ACM)的算法专栏曾长期采用它。
ALGOL 本身因缺乏标准输入输出、商业推广不力等原因未能在工业界普及,但其血脉遍布后世:Pascal、C、Simula、Ada、Java、C# 等语言的块结构与作用域规则都可追溯到 ALGOL 60,因此这些语言常被统称为类 ALGOL 语言。1968年的 ALGOL 68 引入了更复杂的类型系统,但因过于庞大而饱受争议,尼克劳斯·维尔特(Niklaus Wirth)因此另起炉灶设计了 Pascal。
问:ALGOL 现在还有人用吗?答:实际生产中已基本绝迹,只在计算机历史研究与个别遗留系统(如英国 ICL 机器上的 ALGOL 68 变体)中可见,其价值主要是历史与教育意义。
问:ALGOL 与 Fortran 谁更重要?答:两者贡献不同。Fortran 证明了高级语言在工程上可行且高效;ALGOL 则确立了语言设计的科学方法与结构化概念,对后世语言设计的影响更为深远。

| 语言家族 | ALGOL 58 / 60 / 68 |
| 设计机构 | 欧美联合委员会(IFIP 等) |
| 首次发布 | 1958年(ALGOL 58) |
| 里程碑版本 | ALGOL 60(1960年) |
| 主要贡献 | 块结构、BNF、递归 |
| 影响的语言 | Pascal、C、Simula、Ada |
登录 后参与讨论
暂无讨论,来发表第一条评论吧