Linux豆知識 043
コンパイラとインタプリタ
公開日:2010年02月15日
今回は、「コンパイラとインタプリタ」について。
プログラミング言語は、C言語などに代表されるコンパイラ型言語と、Perlなどに代表されるインタプリタ型言語があります。どちらも、プログラミングは人間が理解できる形で記述しますが、このままではコンピュータには理解できません。そこで、コンパイラとインタプリタの出番です。
コンパイラ型言語は、人間が読めるコードを「コンパイラ」を使ってコンピュータが理解できる形の「機械語」によるファイルに変換し、そのファイルを実行することでプログラムを実行します。一方、インタプリタ型言語の場合は、人間が読めるコードを「インタプリタ」を使って、コードを「逐次解釈しながら」プログラムを実行します。
なお、言語によってはコンパイラとインタプリタの両方が使えるものも存在します。
コンパイラ型は、インタプリタを介さないため一般に高速です。一方で開発の際、コードを書き換えるたびにコンパイル作業が必要になるため、コードの記述やデバッグに時間がかかります。インタプリタ型は一般にコンパイラ型よりも速度に劣りますが、コードを記述すればすぐに実行に移すことができるという利点があります。
コンパイル型とインタプリタ型はそれぞれに一長一短がありますので、どちらが優れているかという話よりも、シチュエーションに合わせた選択が重要になります。