fbpx
维基百科

ALGOL

ALGOL,名稱源自演算法語言(英語:ALGOrithmic Language)的縮寫[1],是一族指令式編程語言,發展於1950年代中期,對許多其它程式語言產生了重大影響。计算机协会在教科書及學術文章採用此語言做為描述演算法的標準語法超過三十年。[2]

ALGOL
编程范型过程式, 指令式, 结构化
設計者Bauer, Bottenbruch, Rutishauser, Samelson, Backus, Katz, Perlis, Wegstein, Naur, Vauquois, van Wijngaarden, Woodger, Green, McCarthy
发行时间1958年,​64年前​(1958
当前版本
  • ALGOL 58 (1958)
  • ALGOL 60 (1960)
  • ALGOL 68 (1968)
影響語言
许多后来的命令式语言(被称作ALGOL-like语言)
e.g. Simula, C, CPL, Pascal, Ada
受ALGOL影响的函数式语言:Scheme

由大多數近代程式語言皆使用類似ALGOL的語法來看[3],ALGOL可與差不多同時期的FORTRANLISPCOBOL並列為四大最有影響力的高階語言[4]。ALGOL被設計用來避免FORTRAN中一些已知的問題,最終引領了許多其它程式語言的興起,包括PL/ISimulaBCPLBPascalC

ALGOL引入了代码块,並用beginend來分隔。它是第一個利用詞法作用域實作巢狀函式的語言,也是第一個注重形式語言定義的語言,並在ALGOL 60報告中引入了巴科斯範式來作為設計語言形式文法的原則。


ALGOL主要有三種規格,以初次發表的年份命名:

  • ALGOL 58 – 原提議命名為IAL,代表International Algebraic Language
  • ALGOL 60 – 在1960年代中期首先實作成X1 ALGOL 60,1963年修訂。[5][6]
  • ALGOL 68 – 引入許多新元素,像是可變陣列、切片、平行化及算子識別。1973年修訂。[7]

尼克勞斯·維爾特在發展Pascal之前,在ALGOL 60的基礎下建立了ALGOL W。ALGOL W本是下一代ALGOL的提議,但ALGOL委員會決定採用更先進複雜的設計,而不是一個簡潔化ALGOL 60。

ALGOL 58 (IAL) 编辑

ALGOL 58沒有I/O機制。

ALGOL 60家族 编辑

1960年,在巴黎举行的讨论会上,来自欧洲的诺尔Bauer英语Friedrich L. BauerRutishauser英语Heinz RutishauserSamelson英语Klaus SamelsonVauquois英语Bernard Vauquoisvan Wijngaarden英语Adriaan van WijngaardenWoodger英语Michael Woodger,与来自美国的佩利巴科斯麦卡锡Katz英语Charles KatzWegstein英语Joseph Henry Wegstein和J. Green,共同发表了《算法语言ALGOL 60报告》[8]戴克斯特拉实现了ALGOL 60语言的第一个编译器。在1962年罗马会议上,ALGOL 60报告得到了修订,并于1963年出版[9]

Algol 60引进了许多新的概念如:代码词法作用域递归巴科斯-诺尔范式(BNF)等等。

Algol 60是程序设计语言发展史上的一个里程碑,它标志着程序设计语言成为一门独立的科学学科,并为后来软件自动化及软件可靠性的发展奠定了基础。

ALGOL 68 编辑

ALGOL 68的“Hello, World”

begin printf(($gl$,"Hello, world!")) end 


Algol W:1966年,IFIP吸收尼克劳斯·维尔特参加对Algol语言进行完善与扩充的工作小组。沃思参加进去以后,提交了一份建议书并由東尼·霍爾等人修改、完善以后形成Algol W。同时还催生了一个新的语言PL360

參考資料 编辑

  1. ^ 有人大小寫混用(Algol 60 (页面存档备份,存于互联网档案馆)),有人用全大寫 (ALGOL68 (页面存档备份,存于互联网档案馆)),本文採用全大寫ALGOL
  2. ^ Collected Algorithms of the ACM (页面存档备份,存于互联网档案馆) Compressed archives of the algorithms. ACM
  3. ^ O'Hearn, P. W.; Tennent, R. D. . September 1996 [2017-11-08]. (原始内容存档于2011-11-14). 
  4. ^ "The ALGOL Programming Language" (页面存档备份,存于互联网档案馆), University of Michigan-Dearborn
  5. ^ Backus, J. W.; Bauer, F. L.; Green, J.; Katz, C.; McCarthy, J.; Perlis, A. J.; Rutishauser, H.; Samelson, K.; Vauquois, B.; Wegstein, J. H.; van Wijngaarden, A.; Woodger, M. Naur, Peter , 编. Report on the Algorithmic Language ALGOL 60. Copenhagen. May 1960. ISSN 0001-0782. doi:10.1145/367236.367262. 
  6. ^ . 1963 [8 June 2007]. (原始内容存档于2007-06-25). 
  7. ^ Revised Report on the Algorithmic Language ALGOL 68 (PDF). 1973 [13 September 2014]. (原始内容 (PDF)于2016-10-07). 
  8. ^ Backus, J. W.; Bauer, F. L.; Green, J.; Katz, C.; McCarthy, J.; Perlis, A. J.; Rutishauser, H.; Samelson, K.; Vauquois, B.; Wegstein, J. H.; van Wijngaarden, A.; Woodger, M. Naur, Peter , 编. Report on the Algorithmic Language ALGOL 60. Communications of the ACM (Copenhagen). May 1960, 3 (5): 299–314. ISSN 0001-0782. S2CID 278290. doi:10.1145/367236.367262. 
  9. ^ . 1963 [2020-04-23]. (原始内容存档于2007-06-25). 


algol, 此條目可参照英語維基百科相應條目来扩充, 若您熟悉来源语言和主题, 请协助参考外语维基百科扩充条目, 请勿直接提交机械翻译, 也不要翻译不可靠, 低品质内容, 依版权协议, 译文需在编辑摘要注明来源, 或于讨论页顶部标记, href, template, translated, page, html, title, template, translated, page, translated, page, 标签, 名稱源自演算法語言, 英語, algorithmic, language, 的縮寫, 是. 此條目可参照英語維基百科相應條目来扩充 若您熟悉来源语言和主题 请协助参考外语维基百科扩充条目 请勿直接提交机械翻译 也不要翻译不可靠 低品质内容 依版权协议 译文需在编辑摘要注明来源 或于讨论页顶部标记 a href Template Translated page html title Template Translated page Translated page a 标签 ALGOL 名稱源自演算法語言 英語 ALGOrithmic Language 的縮寫 1 是一族指令式編程語言 發展於1950年代中期 對許多其它程式語言產生了重大影響 计算机协会在教科書及學術文章採用此語言做為描述演算法的標準語法超過三十年 2 ALGOL编程范型过程式 指令式 结构化設計者Bauer Bottenbruch Rutishauser Samelson Backus Katz Perlis Wegstein Naur Vauquois van Wijngaarden Woodger Green McCarthy发行时间1958年 64年前 1958 当前版本ALGOL 58 1958 ALGOL 60 1960 ALGOL 68 1968 影響語言许多后来的命令式语言 被称作ALGOL like语言 e g Simula C CPL Pascal Ada 受ALGOL影响的函数式语言 Scheme由大多數近代程式語言皆使用類似ALGOL的語法來看 3 ALGOL可與差不多同時期的FORTRAN LISP及COBOL並列為四大最有影響力的高階語言 4 ALGOL被設計用來避免FORTRAN中一些已知的問題 最終引領了許多其它程式語言的興起 包括PL I Simula BCPL B Pascal及C ALGOL引入了代码块 並用begin end來分隔 它是第一個利用詞法作用域實作巢狀函式的語言 也是第一個注重形式語言定義的語言 並在ALGOL 60報告中引入了巴科斯範式來作為設計語言形式文法的原則 ALGOL主要有三種規格 以初次發表的年份命名 ALGOL 58 原提議命名為IAL 代表International Algebraic Language ALGOL 60 在1960年代中期首先實作成X1 ALGOL 60 1963年修訂 5 6 ALGOL 68 引入許多新元素 像是可變陣列 切片 平行化及算子識別 1973年修訂 7 尼克勞斯 維爾特在發展Pascal之前 在ALGOL 60的基礎下建立了ALGOL W ALGOL W本是下一代ALGOL的提議 但ALGOL委員會決定採用更先進複雜的設計 而不是一個簡潔化ALGOL 60 目录 1 ALGOL 58 IAL 2 ALGOL 60家族 3 ALGOL 68 4 參考資料ALGOL 58 IAL 编辑主条目 ALGOL 58 ALGOL 58沒有I O機制 ALGOL 60家族 编辑主条目 ALGOL 60 1960年 在巴黎举行的讨论会上 来自欧洲的诺尔 Bauer 英语 Friedrich L Bauer Rutishauser 英语 Heinz Rutishauser Samelson 英语 Klaus Samelson Vauquois 英语 Bernard Vauquois van Wijngaarden 英语 Adriaan van Wijngaarden Woodger 英语 Michael Woodger 与来自美国的佩利 巴科斯 麦卡锡 Katz 英语 Charles Katz Wegstein 英语 Joseph Henry Wegstein 和J Green 共同发表了 算法语言ALGOL 60报告 8 戴克斯特拉实现了ALGOL 60语言的第一个编译器 在1962年罗马会议上 ALGOL 60报告得到了修订 并于1963年出版 9 Algol 60引进了许多新的概念如 代码块 词法作用域 递归 巴科斯 诺尔范式 BNF 等等 Algol 60是程序设计语言发展史上的一个里程碑 它标志着程序设计语言成为一门独立的科学学科 并为后来软件自动化及软件可靠性的发展奠定了基础 ALGOL 68 编辑主条目 ALGOL 68 ALGOL 68的 Hello World begin printf gl Hello world end Algol W 1966年 IFIP吸收尼克劳斯 维尔特参加对Algol语言进行完善与扩充的工作小组 沃思参加进去以后 提交了一份建议书并由東尼 霍爾等人修改 完善以后形成Algol W 同时还催生了一个新的语言PL360 參考資料 编辑 有人大小寫混用 Algol 60 页面存档备份 存于互联网档案馆 有人用全大寫 ALGOL68 页面存档备份 存于互联网档案馆 本文採用全大寫ALGOL Collected Algorithms of the ACM 页面存档备份 存于互联网档案馆 Compressed archives of the algorithms ACM O Hearn P W Tennent R D Algol like languages Introduction September 1996 2017 11 08 原始内容存档于2011 11 14 The ALGOL Programming Language 页面存档备份 存于互联网档案馆 University of Michigan Dearborn Backus J W Bauer F L Green J Katz C McCarthy J Perlis A J Rutishauser H Samelson K Vauquois B Wegstein J H van Wijngaarden A Woodger M Naur Peter 编 Report on the Algorithmic Language ALGOL 60 Copenhagen May 1960 ISSN 0001 0782 doi 10 1145 367236 367262 Revised Report on the Algorithmic Language Algol 60 1963 8 June 2007 原始内容存档于2007 06 25 Revised Report on the Algorithmic Language ALGOL 68 PDF 1973 13 September 2014 原始内容存档 PDF 于2016 10 07 Backus J W Bauer F L Green J Katz C McCarthy J Perlis A J Rutishauser H Samelson K Vauquois B Wegstein J H van Wijngaarden A Woodger M Naur Peter 编 Report on the Algorithmic Language ALGOL 60 Communications of the ACM Copenhagen May 1960 3 5 299 314 ISSN 0001 0782 S2CID 278290 doi 10 1145 367236 367262 Revised Report on the Algorithmic Language Algol 60 1963 2020 04 23 原始内容存档于2007 06 25 取自 https zh wikipedia org w index php title ALGOL amp oldid 78325541, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。