4 コンピュータープログラムの歴史

4.1 なぜプログラムが必要か?

所詮,コンピューターはプログラムの通りに動作する自動計算機に過ぎない. もし,プログラムが無かったらどうなるだろうか?.コンピューターは,全 く動作せず,何もできないことは容易に想像がつく.いかにすばらしいハードウェアーがあっても, プログラムが無いと,それはただの箱である.

プログラムの無い計算機といえば,電卓を使うことを思い浮かべるであろう. 電卓のみを用いて,例えば連立方程式を計算する場合を想像してみよう.この 場合,人間の頭にその解法があり,それに従い手を動かして計算をすることになる. この場合,プログラムに相当しているものが,頭の中にあり,指を通して,ハー ドウェアーである計算機に指示を与えてることになる.

では,いったいプログラムとは何だろうか?.一言で言うと,それはコンピュー ターに指示を与えるものである.その特徴は,

ことにある.機械相手ですから,仕方ないことである.

4.2 プログラム方法の変遷

未完に終わったが,最初にコンピューターを考えたと言われるのが,イギ リスのチャールズ・バベッジ(Charles Babbage, 1791-1871)である.当時,イギ リスは産業革命で,大量の織物が作られていた.それには,ジャカールが発 明した自動織機が大活躍していた.織物の柄はパンチカードに書かれており, それに従い機械が自動的に織物を作っていた.バベッジはそれを利用 して,自動計算機を作ろうと考えた.ただ,その機械を実現するための技術が当時では未発達で、バベッジの考えた自動計算機は実現できなかった.

最初に稼動した電子計算機は,アメリカのENIACである.それは,プログラムボー ド呼ばれる配線板上の配線を組み替える方法で,プログラムが書かれていた. これは,ハードウェアーそのものを変えることにより,プログラムしているこ とになる.要するにコンピューターの動作を配線で示したわけである.

もう少し進化すると,メモリーにプログラムを書くようになった.0と1を 全てメモリー上にスイッチで指定するようなことが行われていたようである.コン ピューターの動作を0と1で示したのである.これこそが機械語である.今もそうであるが,コンピューターは0と1でできた機械語しか理解できない.当時は、それをそのま ま指定していた.例えば,足し算をするときは,

	0010 0000 0001 0000 0000 0000 0000 1010
と書く.これは,メモリーの内容そのもので,これに従いCPUの線の電圧 が0や1になる.それに従い論理回路が動作し、計算をおこなうのである.

さすがに0と1を並べただけのプログラムは,分かりにくく,専門的なプログラ マーにしかプログラムができなかった.これをもう少し,分かりやすくし たのがアセンブラ言語である.先ほどの加算のプログラムを

	ADDA   GR1,ADDRESS
と書く.ADDというのは加算するという英語である.その後のAは気にしないこと.これは,GR1とADDRESSを加算せよという命令となっている.詳細は後 ほど学習するが,先ほどの0と1が並んだプログラムよりは格段に分かりやす い.これは, に対応している.要するに,人間がわかりやすいアセンブラ言語は,コンピューターが 唯一理解できる機械語と1対1に対応しているのである.このようにすることで,プロ グラムは格段に容易になる.

ただし,アセンブラ言語を機械語に翻訳する仕事が必要になる.このアセンブラ 言語から機械語への翻訳をアセンブルすると言う.このアセンブルの作業 は,コンピューターに任せればかってにやってくれる.そのためのソフトウェ アーをアセンブラーと言う.

アセンブラーが開発されたことで,プログラムはかなり容易になったが, それでもまだ,一部の専門家にしか使えない.もっと,人間に近いプログラ ミング言語の必要性が叫ばれた.そこで,1950年代初頭,最古の高級言語であるFORTRANが登場した.諸君が学習した通り,誰でもコンピューターのプログラムが書けるようになったのである.例えば,加算は,

	C=A+B
と書けばよい.人間にとって非常に分かりやすい表現である.しか し,コンピューターにとっては全く分からない表現になってしまった.そ のために,このFORTRAN言語で書かれたプログラムを機械語に翻訳する必要が ある.翻訳は,コンピューターに任せればよく,そのためのプログラムが 用意されている.それは,コンパイラーと言われるプログラムである.皆さん は,FORTRANコンパイラーを使ったことがある.C言語のコ ンパイラーを使ったことがある人もいるであろう.

コンピューターのプログラム言語は,誰でもが間単にプログラムできるよう に進化してきた.その進化は今でも留まっておらず,いろいろな言語が開発されている.



ホームページ: Yamamoto's laboratory
著者: 山本昌志
Yamamoto Masashi
平成19年6月24日


no counter