ALGOL
読み:アルゴル
外語:ALGOL: algorithmic language

 1958(昭和33)年に、IFIP(International Federation for Infomation Processing)が開発した数値計算用の構造化言語。
目次

概要
 同時期に存在したCOBOLFORTRANと違い、計算機メーカーではなく、学会などで学術的に開発された言語である。
 特定のコンピューターに依存せず、抽象的な手続き型アルゴリズムを記述することを目的とし、論文などでロジック記述用として使われることも多い。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系言語である。
 この他にも、特定用途向けとして様々な言語があることが知られる。例えば米軍の戦闘機F-15は、Ada系の言語「Jovial J73」なる言語でプログラムが書かれているとされている。

再検索