ALGOL
読み:アルゴル
外語:ALGOL: algorithmic language
1958(昭和33)年に、IFIP(International Federation for Infomation Processing)が開発した数値計算用の構造化言語。
目次
概要
特徴
ALGOL60
ALGOL68
ALGOL系言語
概要
同時期に存在した
COBOL
や
FORTRAN
と違い、計算機メーカーではなく、学会などで学術的に開発された言語である。
特定のコンピューターに依存せず、抽象的な手続き型
アルゴリズム
を記述することを目的とし、論文などでロジック記述用として使われることも多い。CACM(Communications of the ACM)で公用アルゴリズム記述言語として採用され、今でもその方面の書籍で記述が残っている場合がある。しかし厳密すぎる構文や機能的に重すぎる仕様など、実用面では非常に不便で、一般には殆ど普及することが無かった。
特徴
演算部分と
入出力
の部分が分離して規定されており、それぞれ3段階の組み合わせを選択して
コンパイラー
が作成できる。
ALGOL60
基本データ型として
整数型
、
実数型
、
論理型
を、データ構造として
配列
を用意し、変数は必ず宣言してから利用する。
完成形である1960(昭和35)年のALGOL60で文法記述にバッカス・ナウア記法(
BNF
)を採用し、仕様を厳密に記述したことで有名になった。
ブロック構造と識別子の有効範囲の概念や、if-then-else文、再帰呼び出し、
引数
の
値渡し
・名前渡しなど、その後の
高級言語
の基本となる概念が多数生み出され、様々な言語に影響を与えた。
ALGOL68
その後1968(昭和43)年にワインハールデンの二段階記法により構文がさらに厳密に規定され、新たに基本データ型、データ構造、
演算子
の利用者定義などの機能が追加されたALGOL68が作られた。
しかしあまりに厳密すぎる上に文法が難解すぎたため、国際的合意を得ることができず、標準化作業はALGOL60相当のものが1984(昭和59)年に策定されただけで終わってしまった。
ALGOL系言語
ALGOLが後の
プログラミング言語
に与えた影響は計り知れない程に大きく、その影響下にある言語を総じて「ALGOL系言語」という。
おおざっぱな系統樹では次のようになり、現在主流の多くの言語はALGOL系言語である。
ALGOL
(IFIP. 1958)
Pascal
(
Niklaus Wirth
、1971)
Modula-2
Modula-3
Delphi
(
Borland
)
Ada
(1974)
Eiffel (1985)
PL/SQL
(
Oracle
)
BCPL
(汎用
アセンブリ言語
)
B
(AT&Tベル研究所の
ケン・トンプソン
、1970)
C
(AT&Tベル研究所の
デニス・リッチー
、1972)
Objective-C
C++
(AT&Tベル研究所の
B. Stroustrup
、1982)
Java
(
Sun Microsystems
、1995)
C#
(Microsoft、2000)
D (Digital Mars社のWalter Bright)
PL/I
(
IBM
、1965)
Simula-1
Simula-67
Smalltalk
(Xerox社Palo Alto Research Center)
Ruby
(まつもと ゆきひろ(Matz))
この他にも、特定用途向けとして様々な言語があることが知られる。例えば米軍の戦闘機F-15は、Ada系の言語「Jovial J73」なる言語でプログラムが書かれているとされている。
再検索