プログラム

インタプリタとは

2020年11月17日

インタプリタ

インタプリタとは

インタプリタ(interpreter)とは、プログラミング言語で書かれたプログラム(ソースコード)を、コンピュータが1行ずつ解釈しながら実行していくソフトウェアのことです。

プログラミング言語は、人間が理解しやすいように作られているため、コンピュータには理解できません。

そのため、コンピュータが理解できる機械語に変換する必要があります。

プログラミング言語をコンピュータは理解できない

このコンピュータが理解できる機械語に変換する方法には、コンパイラを使う方法とインタプリタを使う方法があります。

インタプリタとコンパイラの違い

コンパイラは、プログラミング言語で作られたプログラムをコンピュータが理解できる機械語に変換するためのソフトウェアです。

コンパイラを使う代表的な言語にはCやC++、Java(※ただしJavaは2回変換するため、他のコンパイル型言語とは挙動が異なる)などがあります。コンパイラを使いソースコードをコンピュータが理解できる機械語に変換(コンパイル)してから、プログラムを実行します。

コンパイラのイメージ例

それに比べてインタプリタは、ソースコードをコンピュータが1行ずつ解釈しながら実行していきます。

インタプリタを使う代表的な言語にはPHP、Perl、Ruby、Pythonなどがあります。

インタプリタのイメージ例

インタプリタは、コンパイラとは違い、ソースコードを即時に実行できるが、1行ずつ解釈しながら実行するため、コンパイラと比べると速度が遅くなるというデメリットがあります。

また、機械語を配布するコンパイラとは違い、インタプリタの場合はソースコードのまま配布します。そのため、ソースコードを解読されやすいという点で問題とする見方もあります。

(ただし、ソースコードを暗号化したり難読化することで、解読され難くすることも可能)

まとめ

  • コンパイラ:ソースコードを機械語に変換してから実行する
  • インタプリタ:ソースコードを1行ずつ解釈しながら実行する

helpful