IT

【ドラゴンボールから学ぶ!IT知識】「コンパイル」の意味とは?

今回は、名作漫画ドラゴンボールを交えて、IT用語「コンパイル」の意味についてご説明します。

コンパイルの意味

コンパイルとは、「プログラミング言語をコンピュータが読み取れるように翻訳すること」です。

コンパイルは、ドラゴンボールでいうところの「デンデの翻訳」です。


引用:ドラゴンボール』(DRAGON BALL)25巻より

ナメック星のドラゴンボールによって出現するドラゴン(ポルンガ)は、どんな願いも3つまで叶えてくれますが、
お願い事をするときは地球の言葉ではなく、ナメック星の言葉ではなくてはなりません。


引用:ドラゴンボール』(DRAGON BALL)25巻より

ポルンガは、デンデの翻訳によって、クリリンのお願いが何かを理解していますよね。

実はこのデンデの翻訳こそが、現実世界でいう「コンパイル」の意味に当てはまるのです。

「コンパイル」について、詳しくご説明していきます。

人がコンピュータに対して「あれやってほしい、これやってほしい」と命令を出す(プログラムを組む)とき、プログラミング言語という文字列が用いられることがあります。

プログラミング言語は、人(ITエンジニア)が内容を理解できる言葉ですが、
コンピュータは、プログラミング言語を理解できません。

コンピュータは、「1101001」といった、「0か1の並び(機械語)」でしか命令を理解できないのです。

コンピュータにプログラミング言語で命令を伝えるためには、プログラミング言語をコンピュータが理解できる「0か1の並び(機械語)」に翻訳する過程が存在します。
この翻訳のことを「コンパイル」といいます。

以下の画像(コンパイルの例)を見てみましょう。


画像引用:『ドラゴンボール』(DRAGON BALL)1巻より

上の画像のように、プログラミング言語で「悟空の画像を表示して」とコンピュータに命令するためには、機械語への翻訳(コンパイル)が必要です。
コンパイル(翻訳)がなければ、コンピュータはプログラミング言語を理解できないのです。

コンパイルは、専用のソフトウェアを介して自動で行われます。

「いちいちプログラミング言語で命令を書いて翻訳するくらいなら、最初から機械語で書けばいい」と思われるかもしれませんが、機械語は「0か1の並び」でしかありません。

そのため、機械語を書こうとするならば、とてつもなく膨大な「0」と「1」の組み合わせで命令を書く必要があり、後で見返しても何の命令をしたのかさっぱり分からない、といった問題が起こるでしょう。

まとめ

コンパイルとは、「人が書いたプログラミング言語を、コンピュータが理解できるように翻訳すること」です。
コンパイルは人が手動で行うのではなく、専用のソフトウェアを介して自動で行われます。

名作漫画の力を借りることで、少しでもIT知識が理解しやすいものになればと思い、この記事の執筆にいたりました。

この記事をとおして、少しでもIT知識を身につけることができましたら幸いです。