コンパイル
コンパイル(英:compile)とは、人間が解釈しやすい高水準言語で書かれたソースコードを、コンピュータが解釈しやすい低水準言語のコード(機械語)を変換することで、コンパイルするために利用するソフトウェアのことをコンパイラ(英compiler)といいます。
コンパイルはなぜ必要なの?
プログラミング言語は、人間が理解しやすいように作られているため、コンピュータはプログラミング言語で書かれたプログラムを理解できません。
そのため、プログラミング言語で作られたプログラムを、コンピュータが理解できるように変換する必要があります。この変換作業のことをコンパイルといい、そのためのソフトウェアのことをコンパイラといいます。
コンパイラ型言語とインタプリタ型言語
プログラミング言語で作られたプログラムを、コンピュータが理解できる機械語に変換する方法には、「コンパイラ」を使うコンパイラ型の言語と「インタプリタ」を使うインタプリタ型の言語があります。
コンパイラ型とインタプリタ型の主な言語は次の通りです。
バイナリへと変換する手法 | 主な言語 |
コンパイラ | C言語、C++、C#、Objective-Cなど |
インタプリタ | Ruby、Python、シェルスクリプト、Perlなど |
コンパイラは、プログラミング言語をコンピュータが理解できる機械語へ変換するためのソフトウェアです。
それに対して、インタプリタは1行ずつ解釈しながら実行していくソフトウェアです。
そして、このインタプリタはスクリプト言語などで利用されています。
※注意:スクリプト言語のほとんどがインタプリタ方式を採用していますが、必ずしもスクリプト言語がインタプリタ方式であるとは限りません。
ポイント
コンパイラ:ソースコード →(コンパイル)→ 機械語 → 実行(機械語に変換してから実行)
インタプリタ:ソースコード→ 実行(1行ずつ解釈しながら実行)