コンパイラとインタープリタの違い

Anonim

コンパイラとインタプリタの間に

プログラムを書くときに、コンピュータはそれを理解できません。それが使えるように、コンピュータを理解できるものに変換する必要があります。コンパイラとインタプリタは、どちらも同じ機能を実行するため、コンパイラとインタプリタが必要です。コンパイラとインタプリタの主な違いは、コードを実行するときです。インタプリタでは、コードはすぐに実行され、解釈されたコードがコンピュータに渡されます。比較すると、コンパイラはコードを実行しません。代わりに、完成したコードをディスクに書き込みます。ディスクに書き込まれたコードは、いつでも実行できます。

<! - 1 - >

インタプリタとコンパイラの主な違いは、別のものを生み出します。プログラムを実行するときにインタープリタが必要なので、あなたのマシンでプログラムを実行するには、インタプリタをインストールする必要があります。これはコンパイラでは当てはまりません。プログラムがコンパイルされると、コンパイルされたプログラムだけが必要となり、コンパイラや元のコードは必要ありません。

コンパイラではなくインタプリタを使用する利点は、異なるオペレーティングシステムを実行しているコンピュータでプログラムを実行できることです。あなたが適切な通訳を持っていることを考えると、プログラムをコンパイルすると、特定のオペレーティングシステムのみで実行され、他のオペレーティングシステムでは実行されません。別のオペレーティングシステムで実行するには、そのオペレーティングシステムのコードを最適化して、再度コンパイルする必要があります。

<! - 2 - >

インタプリタを使用することの欠点は、追加されたオーバーヘッドです。インタプリタは処理能力を必要とし、各コード行は実行時に解釈されます。これは、コンパイルされたプログラムを持っている場合には当てはまりません。なぜなら、オペレーティングシステムはそれを直接読み取って各コマンドを実行できるからです。コードを解釈する余分なステップは、解釈されたプログラムがコンパイルされたコードよりもかなり遅く実行されるようにします。インタプリタは、コンパイルされたプログラムをより効率的に実行できるOS固有の最適化を利用することもできません。

<! - 3 - >

コンパイラとインタプリタのどちらを選択するかは、移植性とパフォーマンスのどちらを望むかによって異なります。

要約:

  1. インタプリタは、コンパイラが実行していない間にコードを直接実行します。
  2. コンパイラが存在しない間にインタプリタをターゲットマシンで使用する必要があります。コンパイルされたプログラムは実行されません
  3. 解釈されたプログラムはコンパイルされたプログラムよりも遅く実行されます