プログラムの無い計算機といえば、電卓を使うことを思い浮かべるでしょう。 電卓のみを用いて、例えば連立方程式を計算する場合を想像しましょう。この 場合、人間の頭にその解法があり、それに従い手を動かして計算しています。 この場合、プログラムに相当しているものが、頭の中にあり、指を通して、ハー ドウェアーである計算機に指示を与えています。
では、いったいプログラムとは何でしょうか?。一言で言うと、それはコンピュー ターに指示を与えるものといえます。その特徴は、
最初に稼動した電子計算機は、アメリカの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が並んだプログラムよりは格段に分かりやす くなりました。これは、
ただし、アセンブラ言語を機械語に翻訳する仕事は必要です。このアセンブラ 言語から機械語への翻訳をアセンブルするといいます。このアセンブルの作業 は、コンピューターに任せればかってにやってくれます。そのためのソフトウェ アーをアセンブラーといいます。
アセンブラーが開発されたことで、プログラムはかなり容易になりましたが、 それでもまだ、一部の専門家にしか使えません。もっと、人間に近いプログラ ミング言語が必要です。そこで、1950年代初頭にFORTRAN言語の登場となるわ けです。これは、皆さんが学習した通り、誰でもコンピュータープログラムが できます。これは、非常に人間の言葉に近く、加算は、
C=A+Bと書けばよいです。これは、人間にとって非常に分かりやすい表現です。しか し、コンピューターにとっては全く分からない表現になってしまいました。そ のために、このFORTRAN言語で書かれたプログラムを機械語に翻訳する必要が あります。翻訳は、コンピューターに任せればよく、そのためのプログラムが 用意されています。それは、コンパイラーと言われるプログラムです。皆さん は、FORTRANコンパイラーを使ったことがあるでしょう。あるいは、C言語のコ ンパイラーを使ったことがある人がいるかもしれません。
コンピューターのプログラム言語は、誰でもが間単にプログラムできるよう
に開発されてきました。