コンパイラ型言語は、人間が書いたソースコードを「コンパイラ」というツールでコンピュータが直接実行できる「機械語(バイナリ)」に一括変換(コンパイル)してから実行する言語です。特徴は実行速度が高速で、事前にエラーチェックが可能な点です。代表例はC、C++、Rust、Goなどです。
特徴とメリット・デメリット
- 高速な実行速度: 機械語に事前変換するため、実行時に翻訳する手間がなく動作が速い。
- 事前エラー検出: コンパイル時にプログラムの誤り(構文エラーや型不整合など)をまとめて検出できるため、実行時の予期せぬ停止を防ぎやすい。
- 実行ファイルの生成: 生成されたファイル(
.exeなど)があれば、ソースコードがなくても実行可能。 - 開発のデメリット: コードを変更するたびにコンパイル(翻訳)が必要なため、修正から実行までのサイクルが少し長い。
主なコンパイラ型言語
- C / C++: ハードウェア制御やゲーム開発、高速性が求められる分野
- Rust: 高速かつメモリ安全性に優れた最新言語
- Go: Googleが開発した、効率的な並行処理が得意な言語
- Java / C#: 中間コード(バイトコード)にコンパイルし、仮想マシン上で動く仕組み
中間コード
人間が書くソースコードと、コンピュータが実行する機械語(ネイティブコード)の中間に位置する、一時的に生成されるコードのことです。
コンパイラ型とインタプリタ型の違い
| 特徴 | コンパイラ型 | インタプリタ型 |
|---|---|---|
| 実行形式 | 一括変換して実行 | 逐次解釈しながら実行 |
| 実行速度 | 高速 | 低速〜中速 |
| コンパイル | 必要 | 不要 |
| 適した用途 | 大規模開発、高速性重視 | スクリプト、試作・学習 |
コンパイラの役割
人間が書いたプログラム(ソースコード)を、コンピュータが理解できる0と1の数字の羅列(機械語/オブジェクトコード)に変換し、リンカと呼ばれる別のプログラムと連携して実行ファイルを生成します。
リンカ
コンパイラが生成した複数のオブジェクトファイルやライブラリを結合し、OS上で実行可能な1つのファイル(EXEファイルなど)を生成するソフトウェアです。

コメント