インタプリタ
インタプリタとは
インタプリタ(interpreter)とは、プログラミング言語で書かれたプログラム(ソースコード)をコンピュータが解釈・実行できる形式に変換しながら同時に少しずつ実行していくソフトウェアのことです。
プログラミング言語は、人間が理解しやすいように作られているため、コンピュータには理解できません。
そのため、コンピュータが理解できる機械語(バイナリデータ)に変換する必要があります。
このコンピュータが理解できる機械語に変換する方法には、コンパイラを使う方法とインタプリンタを使う方法があります。
インタプリタとコンパイラの違い
コンパイラは、プログラミング言語で作られたプログラムをコンピュータが理解できる機械語に変換するためのソフトウェアです。
コンパイラを使う代表的な言語にはCやJavaがあります。コンパイラを使いソースコードをコンピュータが理解できる機械語に変換(コンパイル)してから、プログラムを実行します。
それに比べてインタプリタは、ソースコードをコンピュータが理解できる機械語に変換しながらプログラムを実行していきます。
インタプリンタを使う代表的な言語には、JavaScriptやPHP、Ruby、Pythonなどがあります。このような言語を「スクリプト言語」といいます。
インタプリンタは、コンパイラとは違い、ソースコードを即時に実行できるが、機械語に変換しながら実行するため、コンパイラと比べると速度が遅くなるというデメリットがあります。
また、機械語を配布するコンパイラとは違い、インタプリタの場合はソースコードのまま配布します。そのため、ソースコード(スクリプト)を解読されやすいという点で問題とする見方もあります。
(ただし、ソースコードを暗号化したり難読化することで、解読され難くすることも可能)
まとめ
- コンパイラ:ソースコードを機械語に変換してから実行する
- インタプリンタ:ソースコードを機械語に変換しながら実行する