「コンパイル」と「コンパイラ」の違い
スポンサーリンク
予備知識
| 用語 | 意味 |
|---|---|
| ソースコード | 人間語で書いたプログラムの元ネタ |
| 機械語 | コンピュータさんが分かる言葉 |
プログラムを作って動かすまでの一般的な流れは
1.人間語でプログラムの元ネタを書く
2.元ネタを人間語から機械語に翻訳する
3.翻訳された指示に従って、コンピュータさんが お仕事する
です。

コンピュータさんは人間語が分かりません。

人間様はコンピュータさんの言葉が分かりません。

プログラムは人間様が作るものです。
そこで最初は人間様が分かる言葉でプログラムを作ります。
コンピュータさんに対する「あれをやれ」「これをやれ」な命令を人間語で書くのです。

次に人間語で書いたプログラムの元ネタをコンピュータさんが分かる言葉に翻訳します。
実際に お仕事をするのは、コンピュータさんですからね。
コンピュータさんが分かる言葉に変換する必要があるのです。

コンピュータさんが分かる言葉に翻訳したので、コンピュータさんは命令の内容を理解できます。
指示に従って、お仕事をしてくれるでしょう。

かなり簡略化した説明ですけどね。
これがプログラムを作るときの流れです。
それぞれの用語の意味
| 用語 | 意味 |
|---|---|
| コンパイル | ソースコードをコンピュータさんが分かる言葉に翻訳する作業 |
| コンパイラ | ソースコードをコンピュータさんが分かる言葉に変換してくれるプログラム |
似ているところ
どちらもプログラミングで出てくる用語です。
ソースコードを変換するあれやこれやです。
違うところ
「行為」か「プログラム」かの違いです。
コンパイルはソースコードを機械語に翻訳する「行為」です。
コンパイルすることでコンピュータさんが理解できる形になります。

コンパイラはコンパイルしてくれる「プログラム」です。
コンパイラさんが、ソースコードを機械語に翻訳してくれます。

備考
「compiler(コンパイラ)」は「compile(コンパイル)」+「er」です。
「compile(コンパイル)」の意味は「1つに集める」とか「編集する」とかです。
接尾辞「er」を付けると「~する人」とか「~するもの」的な意味になります。
「編集する」のがコンパイルで「編集するやつ」がコンパイラです。






