プログラミング言語の歴史

プログラミング  C言語   人工知能

以前プログラミング言語について述べたが、今回はそれらの歴史について述べてみる。

1940年代から始まったのENIACEDVAC等のコンピューターの開発に伴い、それらを動作させるプログラミング言語も大きく変化している。

コンピューターの原理は巨大で複雑な計算機であり、その中で扱われている情報は数字となる。そのため初期のプログラミングは数字の羅列となる機械語であった。以下にそのサンプルを示す。

A10010
BB160210
01D0
A10410

上記はごく簡単な算術計算を実行する命令が書かれているだけだが、何が書かれてあるのか文字列を眺めるだけではわからない。これに対して以下に示すようなアセンブラ言語が作られた。

MOV AX, X
MOV DX, Y
ADD AX, DX
MOV Z,  AX

このアセンブラ言語は、それをコンパイルするアセンブラと呼ばれる別のプログラムに読み込ませて機械語に変換してコンピューターで実行された。

これを人間にわかりやすい形に作り直されたのが「高級言語」とよばれるもので、最初に考案されたのがFORTRANでコードとしては以下のようになる。

Z=X+Y

前述の機械語、アセンブラ言語と同様の内容を記載しているが、非常にコードが見やすく言語を完全に理解していなくとも何を書いているかが理解できる。

このような高級言語の登場でプログミング言語を書くための敷居が下がり、かつ半導体技術の発展によりコンピューター自体の性能が向上して、より複雑で大量のコードが生成されるようになり、プログラミングの生産性の向上に向けての改善が行われた。

その中の一つが「構造化プログラミング」となる。構造化プログラミングは、グラフ理論の最短経路問題への解決法であるダイクストラ法を考案したエドガー・ダイクストラによって提唱されたものとなる。基本的なコンセプトは「正しく動作するプログラムを作成するためには、わかりやすい構造にすることが重要である」として、具体的にはプログラムをわかりづらくしている元凶である「GOTO文」を廃止して、ロジックを(1)順次進行、(2)条件分岐、(3)繰り返しの3つの構造だけで表現することを提唱した。

オブジェクト指向で何故つくるのかより

この基本三構造は、非常に強力でありながらシンプルであるため、現在のプログラミング言語の根本に位置づけされるコンセプトとなっている。つまり、プログラミングを学ぶ時にそれぞれの言語でこの三構造を学べび、後はそれぞれのデータ構造と外部とのIF(ファイルの入出力等)を理解すれば基本的なコーディングは可能となるということが言える。

構造化プログラミング言語としては、ALGOLPascalC言語等がある。

構造化プログラミングの次の進化の方向性としては「保守性の向上」と「再利用性の向上」にある。それらの具体的な実装形態としては「オブジェクト指向型」であったり、「関数型」であったり様々な方向に向かうことになるがそれらは次の機会に述べてみたい。

モバイルバージョンを終了
タイトルとURLをコピーしました