高級言語とは、低級言語とは、それらの違いを解説

低級言語の画像

オルゴールのソフトを作るときに、いきなりドラムに突起を付け始める職人さんはいないでしょう。
オルゴールは音楽を奏でる楽器です。
音楽は楽譜という形で表現されます。
オルゴールのソフトを作るときには、まず楽譜を書いて、その楽譜からドラムのどの位置にピンを付けたらよいか計算し、その後でピンを付ける作業をするのではないでしょうか。

プログラミングも同じです。
プログラミング言語は音楽の「音符」のような役割を果たします。
いきなり0と1の組み合わせでプログラムを作るのは大変です。
音楽では「まず楽譜が必要」というのと同じように、プログラミングの場合には、「まずC言語などのプログラミング言語でプログラムを書く」のです。
そして、プログラムを実行したいときには、C言語で書かれたプログラムをマシン語に変換してからコンピュータで実行するのです。
Cプログラムをマシン語に変換する作業をコンパイルやビルドと呼びます。
「コンパイル」は英語で「compile」となり、「集める、編集する」という意味になります。


楽譜やプログラミング言語は人間にとって分かりやすい表記方法になっています。
これを「高級言語」と言います。
ドラムや2進数のマシン語はオルゴールやコンピュータが直接理解して実行できる表記法になっています。
これを「低級言語」といいます。

高級、低級、という言葉は、質の高さや上下関係を意味しているのではなく、人間よりか機械よりか、を意味しています。
高級は「人間より」で、低級は「機械より」になっているという意味です。

低級言語は人間にとって大変覚えにくいものです。
オルゴールのピンの位置は、ミリ単位いや0.1ミリ単位で位置が決まっていることでしょう。
マシン語を覚えることは、ピンの位置と音階やタイミングの対応関係を覚えるのと同じようなことです。
ピンの位置よりも楽譜の方が人間にとってどれだけ分かりやすいかを考えると想像できるでしょう。
だから作曲をするときには楽譜で行い、作曲が終わった後でオルゴールを作成すれば、効率よくオルゴールを作ることができます。


プログラミングもまったく同じことです。
マシン語でプログラムを作るより、C言語などでプログラムを作った方が楽なのです。
また、ハードウェアの種類によって低級言語が異なるという問題もあります。
オルゴールの場合、ハードが違えば、ドラムの大きさや回転する速さが異なりますし、音階の範囲や位置も異なります。
つまり、オルゴールの種類ごとに、ドラムにピンを打つ位置が変わることになります。
これをいちいち覚え直すのはとても大変な作業です。

これに対して楽譜は、音楽の世界で共通の表現方法として利用されています。
楽譜を覚えて、楽譜を書く作業を覚えれば、オルゴールに限らず、様々な楽器に応用できます。

コンピュータの場合も同じです。
低級言語はハードが違えばまるっきり違います。
これに対してC言語のような高級言語はハードが違っていてもほとんど同じです。
C言語は音楽の楽譜のように、人間にとって覚えやすく、書きやすく、ハードが違っていても共通に使え、全世界の技術者が使っているとても便利なプログラムの表現方法なのです。

オルゴールの場合、オルゴール全体を取り替えなくても、ドラムの部分だけを入れ替えることができたら、流れる音楽を変えることができます。
つまり、ハードは同じでも、ソフトを入れ替えれば、流れる音楽を変えることができるということです。
ハードとソフトとはこのような関係なのです。
コンピューターの場合も同じです。
コンピュータは使うソフトによって、ワープロになったり計算ができたり、絵を描けたり、音楽が鳴ったり、ゲームが遊べたりします。
コンピュータはソフト次第、プログラム次第で何でもできるのです。
だからプログラミングというのはとても大切なことです。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です