Compile (コンパイル)
コンパイルとは、指定された言語で書かれたコンピュータープログラムを、別の形式や言語の一連の命令に変換する作業のことです。コンパイラーは、その作業を実行するコンピュータープログラムのことです。
通常、コンパイラーは C++、Rust、Java などの高級言語で書かれたコードを実行可能な(実行可能な)コード、いわゆるバイナリーコードや機械語に変換します。例えば、WebAssembly は実行可能なバイナリコードという形で、C++、Rust、C#、Go、Swift、その他いくつかの言語で書かれたコードからコンパイルし、任意のウェブページ上で実行することができ、ほとんどの機能に現行ブラウザーが対応しています(ブラウザー互換性表を参照)。
ほとんどのコンパイラーは、AOT (ahead-of-time) コンパイルまたは JIT (just-in-time) コンパイルを行います。
GNU の gcc
コンパイラーは AOT コンパイラーの有名な例です。AOT コンパイラーは通常、シェル環境のコマンドラインから(端末やコンソールから)、あるいは IDE 内で呼び出されます。
JIT コンパイラーは通常、直接呼び出されるのではなく、パフォーマンスを向上させる目的で、ソフトウェアのランタイムに内部的に組み込まれています。例えば、主要なブラウザーはすべて、JIT コンパイラーを内蔵した JavaScript エンジンを使用しています。
コンパイラーは、例えば TypeScript から JavaScript へのように、より高いレベルの言語間で翻訳することもあり、この場合はよくトランスパイラー (transpiler) と呼ばれます。
関連情報
- コンパイラ(ウィキペディア)
- WebAssembly