今回は、名作漫画ドラゴンボールを交えて、IT用語「コンパイル」の意味についてご説明します。
コンパイルの意味
コンパイルとは、「プログラミング言語をコンピュータが読み取れるように翻訳すること」です。
コンパイルは、ドラゴンボールでいうところの「デンデの翻訳」です。
引用:『ドラゴンボール』(DRAGON BALL)25巻より
ナメック星のドラゴンボールによって出現するドラゴン(ポルンガ)は、どんな願いも3つまで叶えてくれますが、
お願い事をするときは地球の言葉ではなく、ナメック星の言葉ではなくてはなりません。
引用:『ドラゴンボール』(DRAGON BALL)25巻より
ポルンガは、デンデの翻訳によって、クリリンのお願いが何かを理解していますよね。
実はこのデンデの翻訳こそが、現実世界でいう「コンパイル」の意味に当てはまるのです。
「コンパイル」について、詳しくご説明していきます。
人がコンピュータに対して「あれやってほしい、これやってほしい」と命令を出す(プログラムを組む)とき、プログラミング言語という文字列が用いられることがあります。
プログラミング言語は、人(ITエンジニア)が内容を理解できる言葉ですが、
コンピュータは、プログラミング言語を理解できません。
コンピュータは、「1101001」といった、「0か1の並び(機械語)」でしか命令を理解できないのです。
コンピュータにプログラミング言語で命令を伝えるためには、プログラミング言語をコンピュータが理解できる「0か1の並び(機械語)」に翻訳する過程が存在します。
この翻訳のことを「コンパイル」といいます。
以下の画像(コンパイルの例)を見てみましょう。
画像引用:『ドラゴンボール』(DRAGON BALL)1巻より
上の画像のように、プログラミング言語で「悟空の画像を表示して」とコンピュータに命令するためには、機械語への翻訳(コンパイル)が必要です。
コンパイル(翻訳)がなければ、コンピュータはプログラミング言語を理解できないのです。
コンパイルは、専用のソフトウェアを介して自動で行われます。
「いちいちプログラミング言語で命令を書いて翻訳するくらいなら、最初から機械語で書けばいい」と思われるかもしれませんが、機械語は「0か1の並び」でしかありません。
そのため、機械語を書こうとするならば、とてつもなく膨大な「0」と「1」の組み合わせで命令を書く必要があり、後で見返しても何の命令をしたのかさっぱり分からない、といった問題が起こるでしょう。
まとめ
コンパイルとは、「人が書いたプログラミング言語を、コンピュータが理解できるように翻訳すること」です。
コンパイルは人が手動で行うのではなく、専用のソフトウェアを介して自動で行われます。
名作漫画の力を借りることで、少しでもIT知識が理解しやすいものになればと思い、この記事の執筆にいたりました。
この記事をとおして、少しでもIT知識を身につけることができましたら幸いです。