インタープリタ言語とコンパイル言語の主な違いは、インタープリタ言語はソースコードを一行ずつマシンコードに変換するのに対し、コンパイル言語はソースコードを一度にマシンコードに変換することである。
コンピュータプログラムは、定義されたタスクの実行をCPUに指示する命令の集合体です。
プログラミング言語には様々なものがあります。
高水準プログラミング言語は、英語に近い構文を持っています。
したがって、プログラマーがこれらのプログラムを読んで理解することは容易です。
一方、機械はこれらのプログラムを理解することはできない。
したがって、これらのプログラムを機械が理解できる機械語コードに変換する必要がある。
さらに、低レベル言語は高水準プログラミング言語の一歩下に位置する言語です。
高水準言語よりもハードウェアレベルに近い。
したがって、プログラマーがどんな言語を使ってプログラムを書いたとしても、CPUがそのタスクを実行するためにマシンコードに変換する必要がある。
通訳言語とは
インタプリタ言語とは、インタプリタに基づく言語です。
ここで、インタープリターとは、高レベルのプログラムを機械的に理解できる機械語に変換することができるソフトウェアです。
インタープリタは、プログラムを直接実行し、各ステートメントを逐次的にマシンコードに変換する。
つまり、インタープリタは、ソースコードを1行ずつ機械語に変換していく。
ここで、命令セットはバイトコードです。
また、インタープリタは一度に一つのエラーを表示する。
そのため、プログラマはそのエラーを修正して次の行を解釈しなければならない。
インタプリタ型言語の例としては、MATLAB、JavaScript、Python、R、Rubyなどがあります。
さらに、コンパイラとインタプリタの両方を用いて実装されている言語もあります。
例えば、C#やJavaはバイトコードにコンパイルされるが、これは仮想マシンに優しいインタプリタ型言語です。
コンパイル言語とは
コンパイラに依存する言語をコンパイル言語という。
ここで、コンパイラとは、ソースコードを一度に機械語に変換するソフトウエアのことである。
構文的な誤りや意味的な誤りがあれば、コンパイラはそれを表示する。
ただし、コンパイラはプログラム全体をチェックし、エラーはすべてコンソールに表示する。
エラーを修正しない限り、プログラムを実行することはできない。
通常、コンパイルされた言語は実行時間が短くなる。
言い換えれば、これらの言語は実行速度が速い。
したがって、これらのプログラミング言語は、高速処理を必要とするリアルタイムの組み込みシステム、ゲーム、OS、データベースアプリケーションの開発に役立つ。
例えば、一般的なコンパイル言語には、CやC++があります。
インタープリタ言語とコンパイル言語の違い
定義
インタープリタ型言語とは、プログラミング言語の一種で、その実装のほとんどが、事前にプログラムを機械語命令にコンパイルすることなく、直接、自由に命令を実行するものである。
これに対し、コンパイル言語とは、ソースコードを機械語に変換するコンパイラを実装したプログラミング言語です。
このように、インタープリタ型言語とコンパイル型言語の根本的な違いを説明しています。
機能性
インタープリタ言語とコンパイル言語の主な違いは、インタープリタ言語が高級プログラムを一行ずつ機械語に変換するのに対し、コンパイル言語は高級プログラムを一度に機械語に変換する点です。
言語
インタプリタ型言語にはMATLAB、JavaScript、Python、R、Rubyなどがあり、コンパイル型言語にはC、C++、Objective Cなどがあります。
結論
プログラミング言語には、インタプリタとコンパイラがあります。
言語によっては、コンパイルとインタプリタの両方の段階を持つものもあります。
インタープリタ言語とコンパイル言語の主な違いは、インタープリタ言語はソースコードを一行ずつ機械語に変換するのに対し、コンパイル言語はソースコードを一度に機械語に変換することである。