2 プログラミング技法とプログラミング言語の変遷

プログラミング言語の進化について、ハーバート・シルト著の「独習C++」 2には、次のように書かれている。分かりやすいので引用しておく。
プログラミングには、初期の頃からさまざまな方法論が使われてきました。プログラミ ングの発展における節目では、ますます複雑になるプログラムに対処するために、新し いアプローチが開発されてきました。最初のプログラムは、コンピューターのフロント パネルにあるスイッチをオンとオフの間で切り替えることによって作成されました。し かし、この手法はごく短いプログラムにしか適さないことは明らかです。次にアセンブ リ言語が開発され、これによってより長いプログラムを作成できるようになりました。 次の進歩がもたらされたのは、1950年代、最初の高レベル言語(FORTRAN)が開発されたと きでした。

高レベル言語を使うことによって、プログラマは数千行にわたるプログラムを作成する ことができるようになりました。しかし、初期に使われていたプログラミング方式はア ドホック3 であり、何でも許される方式でした。 比較的小さなプログラムならばこれでもかまいませんが、大きなプログラムにこの方法 を適用すると、読みづらい(そして保守しにくい)「スパゲティコード」が出来上がりま した。1960年代には、構造化プログラミング言語(structured programming language)の登場によって、スパゲティコードを排除することが可能になりました。この 種の言語にはAlgolやPascalがあります。広い意味ではC言語も構造化言語であり、これ まで読者が使用してきたプログラミング言語は大部分が構造化プログラミングと呼ばれ る類のものでしょう。構造化プログラミングでは、厳密に定義された制御構造、コード ブロックを使用し、「GOTO」を使わず(あるいは、少なくともその使用を最小限に 抑え)、再帰とローカル変数をサポートする独立したサブルーチンを使用します。構造化 プログラミングの要点は、プログラムをその構成要素に簡約することです。構造化プロ グラミングの手法を用いれば、凡庸なプログラマでも50,000 行に及ぶ長さのプログラム を作成し、保守することができます。

構造化プログラミングは、適度な複雑さのプログラムに適用したときは優れた効果をも たらしますが、プログラムサイズがある程度に達すると限界が現れます。より複雑なプ ログラムを作成するためには、新しいプログラミング手法が必要となります。そこで開 発されたのがオブジェクト指向プログラミングです。オブジェクト指向プログラミング では、$ \ldots$

オブジェクト指向プログラミング言語、例えばC++などはここで学習ない。C言語を使えば、 凡庸なプログラマーでも50,000行のプログラムを開発、保守できるということなので、大 体、間に合うでしょう。C++などのオブジェクト指向言語は便利そうなので、自分で学習 するには良いであろう。



ホームページ: Yamamoto's laboratory
著者: 山本昌志
Yamamoto Masashi
平成16年9月7日


no counter