インタープリタ方式とコンパイル方式

プログラミング言語はコンピュータが直接理解できる言葉ではありません。そこで,何らかの方法で機械の言葉に変換しなければ実行できませんが,変換するタイミングによって,プログラミング言語を,インタープリタ方式とコンパイル方式の2つの型に分類できます。


インタープリタ方式

プログラミング言語の命令を一つずつ,機械語に解釈しながら実行する方式で,解釈実行方式ともよばれます。通訳を介在しながら外国語を話す様を思い浮かべるとよいでしょう。BASIC や Perl などが代表的なインタープリタ方式の言語です。教育目的やそれほど実行速度を気にしないようなアプリケーションを作成するときに利用されます。

作成したソースプログラムをただちに実行できるという点がこの方式のメリットです。一方,解釈しながら実行されるために,コンパイル型に比べると実行速度が遅いというのが欠点です。特にプログラム中の何度も実行されるような部分では,何度も解釈されるので,その無駄は無視できません。


コンパイル方式

ソースプログラムをいったん機械語に翻訳し,その機械語になったプログラムを実行する方式です。翻訳することをコンパイル(compile),翻訳するプログラムをコンパイラ(compiler)と言います。外国語の本をいったん日本語に翻訳し,翻訳された本を読むようなイメージをするとよいでしょう。C/C++,FORTRAN,COBOL などが代表的なコンパイル型言語です。

この方式のメリットは実行速度が速い点にあります。デメリットとしては,いったんコンパイルするという手間がかかることや,コンパイルした機械語のプログラムは他の環境(OSやCPUが異なると)実行できないことなどが挙げられます。