主な違い:インタプリタは、高水準プログラミング命令を中間コードに変換してから、結果のコードを実行します。 コンパイラは、高水準プログラミング言語コードをオブジェクトコードに変換します。 インタプリタはコードを1行ずつ実行しますが、コンパイラは結果のファイルを実行します。
インタプリタとコンパイラは、コンピュータ言語でのプログラムの実行において非常に重要な役割を果たします。 多くの人は、どちらもお互いに似ていると考える傾向があります。 ただし、どちらもさまざまなコンテキストで異なります。
両者の最大の違いは、コンパイラが直接ソースコードを機械語に変換するのに対し、インタプリタは中間コードを生成してからこのコードを実行して機械が理解できるコードを形成することです。 インタプリタとコンパイラは、ソースコードを機械語に翻訳するという同じタスクを持っていますが、この翻訳を達成する方法が異なります。 コンプライアントは診断機能を備えているため、高レベルのプログラムをコンパイルしている間、適切なエラーメッセージを表示することができます。 インタプリタの場合、オブジェクトコードは格納されないため、再利用できません。
コンパイラは、その実行可能ファイルを作成する前にオブジェクトコードを生成します。 コンパイルされたプログラムはオブジェクトコードを使って直接実行されます。 一方、通訳者
コンパイラ | 通訳 | |
定義 | 機械語への高度な指導 | 中間コードへの高水準命令 |
実行 | 一度にプログラム全体 | 1行ずつ |
速度 | 速い | スロー |
コスト | 低価格 | もっと少なく |
メモリ使用量 | もっと | 通常多額の金額 |
許可されていない変更 | 難しい(プログラムの流れを理解するのは複雑な作業です) | 簡単(プログラムの流れを理解するのは簡単な作業です) |
デバッグ | 難しい | 簡単 |
結果コードの実行 | コンピュータハードウェアによる | 他のプログラムによる |
例 | Cコンパイラ | 基本 |
ランニングコンピュータ | どれか | 通訳がインストールされている |