コンパイル言語
コンパイル時にネイティブ コードにコンパイルされたプログラムは、翻訳プロセスのオーバーヘッドにより、実行時に翻訳されたプログラムより高速になる傾向があります。 しかし、ジャスト イン タイム コンパイルなどの新しいテクノロジーや、翻訳プロセスの一般的な改善により、この差は縮まりつつあります。 バイトコードを使用した混合ソリューションは、中間の効率になる傾向があります。
低レベルのプログラミング言語は、特にクロスプラットフォームのサポートよりも、効率が主な関心事である場合に、一般的にコンパイルされます。 そのような言語では、 プログラムされたコードとマシンコードによって実行されるハードウェア操作の間に、 より多くの一対一の対応があり、 プログラマが中央処理装置 (CPU) とメモリの使用を詳細に制御することが容易になる。 たとえば、Common lisp は Java バイトコード (その後 Java 仮想マシンで解釈)、C コード (その後ネイティブのマシンコードにコンパイル)、または直接ネイティブコードにコンパイルすることができる。 複数のコンパイル対象をサポートするプログラミング言語では、開発者は実行速度やクロスプラットフォームの互換性のどちらを選ぶかをより自由に決めることができる。