【こんぱいる】
コンパイル とは?
💡 人間が書いたコードをコンピュータが読める言語に「翻訳」する処理
📌 このページのポイント
コンパイルって何のためにするの?
コンピュータはCやJavaで書いたコードを直接は理解できないから、機械語(0と1の命令)に変換する必要がある。コンパイルはその「翻訳作業」だよ。
Pythonはコンパイルしないよね?
コンパイルのメリットは?
①実行速度が速い(機械語に変換済みだから)②コンパイル時にエラーを検出できる(型エラーや構文エラーを実行前に発見)。大規模・パフォーマンスが重要なシステムではコンパイル言語が使われることが多い。
JIT(ジット)コンパイルって何?普通のコンパイルとどう違うの?
JIT(Just-In-Time)は実行時にコンパイルする方式で、事前コンパイル(AOT: Ahead-Of-Time)との中間的な存在だよ。Javaは.classファイル(バイトコード)にコンパイルしてから、JVMがJITで機械語に変換する。V8エンジン(Chrome/Node.js)もJavaScriptをJITコンパイルするんだ。面白いのは、JITは「よく実行されるコード(ホットスポット)」を重点的に最適化するから、場合によっては事前コンパイルより速くなることもあるんだよ。
📖 おまけ:英語の意味
「Compile」 = 編集する・まとめる
💬 複数のソースファイルを「まとめて(compile)」機械語に変換することから。コンパイラはコンパイルを行うプログラム