- ベストアンサー
言語の変換について
下記インタプリタ(wikiの文章抜粋)について質問です。 下記のコンパイルとインタプリタの動作連携のメリットの理解に苦しんでおります。 最近の処理系では、Javaや.NET Frameworkなど、JITコンパイラを利用している物の中で、起動時にコンパイルすると起動が遅くなるため、まず、最初にインタプリタで動かし、バックグラウンドでコンパイルして、コンパイルが完了してから、そちらに切り替える、併用型もある。 環境:visual C#2010
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
普通はインタプリタで変換などしていないでしょう. 特に, 質問文に書いてあるようなシステムなら「バックグラウンドでコンパイルして」と書いてあるんだからインタプリタが変換「しない」ことはわかると思うんだけど. もちろんバックグラウンドのコンパイラがインタプリタから得られる情報を使うことは考えられます. 動的なフローがわかれば, そこから「より良い (と思われる) コード」を作ることができるかもしれん.
その他の回答 (1)
- lv4u
- ベストアンサー率27% (1862/6715)
書かれているとおりでしょう。 >>起動時にコンパイルすると起動が遅くなるため、 起動しても、実際にプログラムが動き出す(スタートメッセージが出る等)までが、コンパイルが終わるまで待っていると、とても待たされた感じになるので、 >>まず、最初にインタプリタで動かし、バックグラウンドでコンパイルして、コンパイルが完了してから、そちらに切り替える、 とりあえず、コンパイルしないでインタプリタで動き出すと、スタートメッセージなど早めに画面表示できるから、ユーザは「これ、動いてないんじゃないの?」と心配しなくてすみます。 Javaや.Net Frameworkで作ったプログラムの起動の遅さには、多くの方がイライラしましたからね。
お礼
解決しましたありがとうございます。
補足
ありがとうございます。処理スピードで使い分けているのですね。 インタプリタで動かしの「動かし」という表現はコードを変換しているという意味でよろしいですよね?
お礼
引っかかっていたところが解決しました。ありがとうございます。