ALGOL 【ALGOrithmic Language】
概要
ALGOL(ALGOrithmic Language)とは、学術研究などにおけるアルゴリズム(計算手順)の記述に向いた手続き型のプログラミング言語の一つ。1950年代に考案され、学術分野でプログラムの例示などのために30年以上に渡って標準的に使われた。欧米のコンピュータ科学者が参加する国際的なグループが開発したもので、最初の仕様は1958年に発表された。コンピュータ科学の研究などにおいて、特定の問題を解く手順を定式化したアルゴリズムを記述しやすい言語として記法や構造が検討された。
現代の多くのプログラミング言語で当たり前となっているコードブロックや変数などのスコープ(有効範囲)の概念、ブロックの入れ子(ネスト)構造、関数の再帰呼び出し、BN記法による言語仕様の形式的な記述、if-then-else文による条件分岐の記述、関数への引数の名前渡しと値渡しの区別などが導入された。
当時の言語としては珍しく、特定の機種のコンピュータの仕様を想定せずに抽象的、汎用的な言語として規定された。手続き型のアルゴリズムをすっきりと記述できることから、主に情報科学・工学などの学術研究、専門教育で利用された。
一方、当初の標準仕様では基本的な入出力すら定義されず、「→」「≠」のような特殊な記号を多用するなど実用面は重視されなかった。構文が厳密すぎることや仕様が大きすぎて実装が難しいことなどもあり、積極的に対応製品を開発する企業もも少なく、実用的なソフトウェア開発などの用途にはあまり普及しなかった。
ALGOLはその後開発された多くの言語に影響を与えており、手続き型言語を中心に現代の多くのプログラミング言語は何らかの形でALGOL由来の記法や仕様を受け継いでいる。特に、PascalやBCPL、B言語、C言語、およびC言語の記法や仕様を受け継いだ多くの言語にその痕跡を見ることができる。
(2024.1.6更新)