コンピューターの中には、汎用機からマイコンに到るまで、CPU(中央演算処理装置)と言うものが入っています。
CPUの中には、役割を持った箱(アドレス)がたくさん用意されており、その箱にデータをセットすることによりコンピューターは命令を実行します。
マシン語(0101の世界ですね)を理解して全ての箱(アドレス)を人が自由に使えればよいのですが、そのようなことはほとんど不可能なので、プログラム言語と呼ばれるものを開発しました。
最初にアセンブラと呼ばれるものが出来、それはアドレスを意識しないでも扱えるようにしたものです。たとえば足し算ならば ADD A B (A=A+Bの意)と書けば足し算が誰にでも書けるようにしたものです。
この段階でもどこにどの命令をセットしなれければならないなどの制約があります。
☆アセンブラはOSに依存しない。スピードが速いなどのメリットがあります。
ただし、CPUごとに言語が存在します。
アセンブラを扱うには、ある程度コンピューターのことを知らなければならないために一般の人が覚えるのは非常に難しいです。また、プログラムの行数が非常に多くなるために開発効率の悪いものです。
そこで、高級言語と呼ばれるCOBOL,PASCAL,FORTRAN等の開発効率の良い言語が生まれてくるようになります。
高級言語は、ひとつの命令(print等)でアセンブラの命令で数百行分を記述したのと同じ意味を持ったものです。
高級言語を使うことにより、人が読むことの出来る言語になった訳です。ただし、人が読める言語はコンピューターには理解できないので、翻訳(コンパイラ)作業をしてあげる必要が出てきます。通常は完全にマシン語にするのではなく、中間言語に翻訳します。
中間言語を実行時にマシン語にすることにより、コンピューターはプログラムを実行するのです。プログラムを訳しながら実行するのでマシン語に比べ速度は落ちます。
お礼
どうもありがとうございましたレポートの参考にします