

インタプリンタ型言語とコンパイル型言語の違いが  
よくわかりません。  
処理速度はコンパイル型の方が早いらしいのですが  
インタプリンタ型は何か利点があるのでしょうか？


CC BY-SA 3.0
2017-10-15T13:57:33.107
38727
2017-10-16T14:22:08.763
2017-10-16T13:27:19.160
4236
25778
question
プログラミング言語
インタプリンタとコンパイルの違い


コンパイルはターゲットマシン用に一度行えばいいのに対して、インタプリタは実行してから逐次解析しながら動作するため、コンパイラに比べて圧倒的に処理食度が遅くなります。  
インタプリタはそれをサポートしているマシンならソースさえあれば実行できること、ソースを配布できること、文法が優しく覚えやすものが多く、そのソースを見て他人も理解しやすい、ゆえにデバッグもしやすいというメリットがあります。BASICなんてまさにそうですね。


CC BY-SA 3.0
2017-10-16T00:28:38.110
38736
2017-10-16T00:28:38.110
25775
38727
answer


厳密には[インタプリタ（interpreter）](https://ja.wikipedia.org/wiki/%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%97%E3%83%AA%E3%82%BF)は逐次解析を行いながら実行する方式で、[コンパイル](https://ja.wikipedia.org/wiki/%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%A9)はコンピューターが直接解釈可能な形式に翻訳した上で実行する方式です。  
しかし、インタプリタの逐次解析はとても遅いため、コンピューターが直接解釈はできないものの中間形式に翻訳した上で、中間形式を逐次解釈して実行する方式が登場しました。具体的にはPerlやVisaul
Basic 6.0以前が該当します。  
また、コンパイルでは特定のコンピューターに依存してしまうために中間形式にコンパイルし、中間形式をコンピューターが直接解釈可能な形式に翻訳しながら実行する方式も登場しました。具体的にはJavaやC#、Visual
Basic .NETなどが該当します。

このため、もはやインタプリンタ型言語とコンパイル型言語との境界は曖昧です。


CC BY-SA 3.0
2017-10-16T14:22:08.763
38763
2017-10-16T14:22:08.763
4236
38727
answer