コンパイル型言語
Compiled Languages
コンパイル型言語とは
コンパイル型言語は、ソースコードを事前に機械語(ネイティブコード)に変換してから実行します。 コンパイラがソースコード全体を解析し、実行可能なバイナリファイルを生成します。
コンパイルの流れ
ソースコード
.go, .rs, .c
コンパイラ
構文解析・最適化
バイナリ
実行可能ファイル
実行
OS上で直接
コンパイル型の特徴
メリット
- ✓ 高速な実行速度 - ネイティブコードで直接実行
- ✓ 事前エラー検出 - コンパイル時に構文・型エラーを発見
- ✓ 配布が簡単 - バイナリ1つで動作(依存なし)
- ✓ 最適化 - コンパイラが高度な最適化を実施
デメリット
- △ コンパイル時間 - 大規模プロジェクトでは時間がかかる
- △ プラットフォーム依存 - OS/アーキテクチャごとにビルド必要
- △ 開発サイクル - 変更→コンパイル→実行のサイクル
インタプリタ型との比較
| 観点 | コンパイル型 | インタプリタ型 |
|---|---|---|
| 実行速度 | 速い | 遅い |
| 開発速度 | コンパイル必要 | 即座に実行 |
| エラー検出 | コンパイル時 | 実行時 |
| 配布 | バイナリのみ | ランタイム必要 |
| メモリ使用 | 効率的 | オーバーヘッド |
代表的なコンパイル型言語
Go
シンプル、高速コンパイル、並行処理
Rust
メモリ安全、ゼロコスト抽象化
C
低レベル制御、OS/組み込み
C++
高性能、オブジェクト指向