コンパイラ
コンパイラとインタプリタの違いとして正しいものはどれか。
- Aコンパイラは実行前に翻訳し、インタプリタは読みながら実行する
- Bコンパイラは実行しながら1行ずつ翻訳し、インタプリタは実行前にまとめて翻訳する
- Cコンパイラは数値計算だけ、インタプリタは文字の処理だけを扱う
答えと解説を見る
正解:A. コンパイラは実行前に翻訳し、インタプリタは読みながら実行する
コンパイラはプログラム全体を実行する前に機械語などに翻訳し、翻訳した結果を実行します。翻訳に時間がかかる代わりに、実行は速くなり、最適化にも時間をかけられます。インタプリタはプログラムを読みながら解釈して実行するので、すぐ試せる一方、実行は遅くなりがちです。実際にはバイトコードに翻訳してから解釈し、よく使う部分をJITコンパイルするなど、両者を組み合わせた方式も多く使われます。扱える処理の種類で分けるわけではありません。
- A. 正しい。実行前に翻訳するか、読みながら実行するかの違いです。
- B. 説明が逆になっています。
- C. 扱える処理の種類で分けるわけではありません。