【こんぱいら】
コンパイラ とは?
💡 ソースコードを機械語に"一括翻訳"する通訳者
📌 このページのポイント
コンパイラって何をするものなの?
なんでわざわざ翻訳が必要なの?ソースコードをそのまま実行できないの?
インタプリタっていうのもあるよね?コンパイラと何が違うの?
じゃあ速さ重視ならコンパイラ型、手軽さ重視ならインタプリタ型を選べばいいの?
じゃあ、コンパイラとインタプリタの境界って実はあいまいなの?
まさにそこがベテランエンジニアでも意外と整理できていないポイントなんだ。現代ではJIT(Just-In-Time)コンパイルという技術があって、実行時に"ホットスポット"と呼ばれる頻繁に使われる部分だけを動的にコンパイルして高速化するんだよ。JavaScriptエンジンのV8もこの仕組みを使っていて、「インタプリタ型だから遅い」とは一概に言えない時代になっているんだ
📖 おまけ:英語の意味
「Compiler」 = 編集者、まとめる人
💬 ラテン語の「compilare(集めてまとめる)」が語源だよ。ソースコード全体を"まとめて"機械語に変換するからコンパイラと呼ばれているんだ。1952年にグレース・ホッパーが世界初のコンパイラ「A-0」を開発したとされているよ