シンパチです。

コンピュータの言語には、いろんな言語があります。

いろんな用途で開発されてきたので、その用途用途で違いますが、今回は、人間に近い部分と機会に近い部分で、ちょっと書いてみようと思います。

まず、コンピュータが、いろんな命令を処理する頭脳の役割をするのが、CPUと呼ばれるICチップです。

このCPUが、人間が入力されたり、外部からの命令により、処理を行い、それを出力したり、変更したりするわけです。

しかし、このCPUに連絡するための言語は、マシン語と呼ばれる言語で、最終的には、5Vか0Vかどちらか二つの電気信号です。

で、この5Vを表すのが1、0Vを表すのが0という2つの数字です。

これを並べ替え分かりやすくしたものが、0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,Fという16の文字を使った16進数です。

この16進数にしたものをマシン語と呼びます。

この16進数の命令を理解して、CPUが、次々と処理を行っていくわけです。

しかし、この16進数の数字をみたところで、人間には、ほとんど分かりづらいものです。

それをある程度分かりやすくしたものが、アセンブラ言語と言われる低級言語です。

これは、実際の16進数の数字を言語にしたものです。

しかし、このアセンブラ言語というものも、まだ、マシン語に近いのでそんなに簡単な言語ではありません。

例えば、8+9はという簡単な処理をするとしても

 A=8
 B=9
 C=A+B

というような処理をしなければなりません。

このアセンブラ言語をアセンブルという処理を行い、マシン語に変換して、CPUに実行してもらうわけです。

このアセンブラ言語でも、まだプログラミングするには、大変なので、コンパイラ言語と呼ばれる、また1段階上の高級言語が、開発されたわけです。

このコンパイラ言語をコンパイルという処理を行い、アセンブラ言語に変換します。

そして、さっき言ったアセンブラ言語をアセンブル処理することによって、マシン語に変換します。

そして、このマシン語をCPUに実行させて、初めて、処理が行われるわけです。

しかし、まだまだこのコンパイラ言語でも、そのルールや機能を理解していないと使いこなすことは、難しい状態です。

なので、このコンパイラを理解するか、もっと高級な言語を開発しないと気軽にプログラミングは出来ないというのが、現状だと思います。