auの日記

プログラミング初心者の日記。(auはハンドルネームです)

コンパイラとインタプリタとは

auです。
プログラミングを学んでいて、「それコンパイルしておいて」などと言われたことがあるんですが、意味が分からなかったので調べてみました。

コンパイルインタプリタ

コンパイルとは、プログラミング言語で書かれたソースコード実行する前に全て機械語に変換する方法をいいます。

インタプリタとは、プログラミング言語で書かれたプログラムを、実行するとき機械語に変換する方法をいいます。実行のたびに変換するので、バグを見つけやすくなります。

プログラミング言語は、人間がわかるようにした文字列のことなので、機械が理解できるように変換しなければいけません。その変換を事前に一気にすべてやるのがコンパイル、一部ずつやっていくのがインタプリタということになります。

コンパイラのほうが事前に機械語に変換するので早く処理することができます。しかし、バグが見つかるときは全体を実行したときにどこかでバグがおきているという状況なので、バグを対処するのに時間が掛かってしまいます。
インタプリタは、プログラムを実行するたびに変換をするので処理は遅くなりますが、バグが出た場合にどこにでたかが分かるため、早く対処することができます。