• ベストアンサー

言語の変換について

下記インタプリタ(wikiの文章抜粋)について質問です。 下記のコンパイルとインタプリタの動作連携のメリットの理解に苦しんでおります。 最近の処理系では、Javaや.NET Frameworkなど、JITコンパイラを利用している物の中で、起動時にコンパイルすると起動が遅くなるため、まず、最初にインタプリタで動かし、バックグラウンドでコンパイルして、コンパイルが完了してから、そちらに切り替える、併用型もある。 環境:visual C#2010

質問者が選んだベストアンサー

  • ベストアンサー
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

普通はインタプリタで変換などしていないでしょう. 特に, 質問文に書いてあるようなシステムなら「バックグラウンドでコンパイルして」と書いてあるんだからインタプリタが変換「しない」ことはわかると思うんだけど. もちろんバックグラウンドのコンパイラがインタプリタから得られる情報を使うことは考えられます. 動的なフローがわかれば, そこから「より良い (と思われる) コード」を作ることができるかもしれん.

noname#232103
質問者

お礼

引っかかっていたところが解決しました。ありがとうございます。

その他の回答 (1)

  • lv4u
  • ベストアンサー率27% (1862/6715)
回答No.1

書かれているとおりでしょう。 >>起動時にコンパイルすると起動が遅くなるため、 起動しても、実際にプログラムが動き出す(スタートメッセージが出る等)までが、コンパイルが終わるまで待っていると、とても待たされた感じになるので、 >>まず、最初にインタプリタで動かし、バックグラウンドでコンパイルして、コンパイルが完了してから、そちらに切り替える、 とりあえず、コンパイルしないでインタプリタで動き出すと、スタートメッセージなど早めに画面表示できるから、ユーザは「これ、動いてないんじゃないの?」と心配しなくてすみます。 Javaや.Net Frameworkで作ったプログラムの起動の遅さには、多くの方がイライラしましたからね。

noname#232103
質問者

お礼

解決しましたありがとうございます。

noname#232103
質問者

補足

ありがとうございます。処理スピードで使い分けているのですね。 インタプリタで動かしの「動かし」という表現はコードを変換しているという意味でよろしいですよね?

関連するQ&A