インタプリタ型言語
Interpreted Languages
インタプリタ型言語とは
インタプリタ型言語は、ソースコードを実行時に逐次解釈して実行します。 事前のコンパイルが不要で、コードを書いてすぐに実行できます。 開発サイクルが速く、動的な言語機能を持つものが多いです。
実行の流れ
ソースコード
.php, .py, .rb
インタプリタ
逐次解釈
実行
1行ずつ処理
注: 多くのインタプリタ型言語は内部でバイトコードにコンパイルしてから実行します(Python: .pyc, PHP: OPcache)。 これは純粋な逐次解釈より高速ですが、ネイティブコードではありません。
インタプリタ型の特徴
メリット
- ✓ 即座に実行 - コンパイル不要、書いてすぐテスト
- ✓ 柔軟性 - 動的型付け、メタプログラミング
- ✓ プラットフォーム非依存 - インタプリタがあればどこでも動作
- ✓ 対話的開発 - REPL(対話型シェル)で試行錯誤
デメリット
- △ 実行速度 - コンパイル型より遅い
- △ 実行時エラー - 型エラーが実行時まで発見されない
- △ ランタイム依存 - 実行環境にインタプリタが必要
- △ メモリ効率 - インタプリタのオーバーヘッド
バイトコードコンパイル
現代のインタプリタ型言語の多くは、ソースコードを中間表現(バイトコード)に変換してから実行します。
ソース
→バイトコード
→VM実行
Python: .pyc ファイル(__pycache__)
PHP: OPcache(メモリ内キャッシュ)
代表的なインタプリタ型言語
PHP
Web開発、WordPress、Laravel
Python
汎用、自動化、データ分析、ML
Ruby
Web開発、Rails、DevOps
Bash
シェルスクリプト、自動化