ALGOL
維基百科,自由的 encyclopedia
ALGOL,名稱源自演算法語言(英語:ALGOrithmic Language)的縮寫[1],是一族指令式編程語言,發展於1950年代中期,對許多其它程式語言產生了重大影響。計算機協會在教科書及學術文章採用此語言做為描述演算法的標準語法超過三十年。[2]
此條目可參照英語維基百科相應條目來擴充。 |
Quick Facts 編程範型, 設計者 ...
編程範型 | 過程式, 指令式, 結構化 |
---|---|
設計者 | Bauer, Bottenbruch, Rutishauser, Samelson, Backus, Katz, Perlis, Wegstein, Naur, Vauquois, van Wijngaarden, Woodger, Green, McCarthy |
釋出時間 | 1958年,66年前(1958) |
當前版本 |
|
影響語言 | |
許多後來的命令式語言(被稱作ALGOL-like語言) e.g. Simula, C, CPL, Pascal, Ada 受ALGOL影響的函數式語言:Scheme |
Close
由大多數近代程式語言皆使用類似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。