広告 プログラム

インタプリタとは

インタプリタ

インタプリタとは

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

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

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

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

 

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

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

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

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

コンパイルとは

 

それに比べてインタプリタは、ソースコードをコンピュータが理解できる機械語に変換しながらプログラムを実行していきます。

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

スクリプトとは

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

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

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

 

まとめ

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

helpful