NEWSお知らせ

プログラミング言語の進化

2014.10.09
開発者News

ALGOL(アルゴル)
今回は、1958年にIFIP(International Federation for Infomation Processing)が開発した数値計算用の構造化言語についてご紹介したいと思います。

その名もALGOL(algorithmic language) アルゴリズミック ランゲージ
この言語は、前回ご紹介しましたCOBOLやFORTRANと違い、計算機メーカーではなく、学会などで学術的に開発された言語のようです。
特定のコンピューターに依存せず、抽象的な手続き型アルゴリズムを記述することを目的とし、論文などでロジック記述用として使われることが多かったそうです。

アルゴリズムというのは、ものの組み立て方や考え方のことで処理手順やそれを実現するための手法などを系統的にまとめたもののことを言います。

コンピューター用アルゴリズムの基本は “逐次”、”条件分岐”、”繰り返し” の3つの要素で成り立ち、CACM(Communications of the ACM)公用アルゴリズム記述言語として採用され、今でも公用アルゴリズム記述言語の書籍で記述が残っている場合があるそうです。
ですが、厳密すぎる構文や機能的に重すぎる仕様など、実用面では非常に不便で、一般には殆ど普及することが無かったようです。

特徴としては、演算部分と入出力の部分が分離して規定されており、それぞれ3段階の組み合わせを選択してコンパイラーが作成できるという点です。
そして、基本データ型として整数型、実数型、論理型を、データ構造として配列を用意し、変数は必ず宣言してから利用します。

ブロック構造と識別子の有効範囲の概念や、if-then-else文、再帰呼び出し、引数の値渡し・名前渡しなど、その後の高級言語の基本となる概念が多数生み出され、後に登場する様々な言語に影響を与え、『C言語』のような後の重要なプログラミング言語にも影響を与えているとのこと。
また、その影響下にある言語を総じて「ALGOL系言語」と呼ばれているそうです。

文法例
C[I,J]:=A[I,J]*B[I,J];

解説
縦横に切れている二つの表A,Bの、(I,J)番目の欄に書き込まれている2数の積を、第3の表Cの対応する欄に書き込む。
I,Jも容器で、そこには番号として使う数が書き込まれる。

それでは、本日はここまでとします。
次回をお楽しみに!

archives

TOP