コンパイラとエンタープライズ言語の違い

2340 ワード

コンパイラとinterpreterとは?


コンパイラとinterpreterの特徴を理解する前に、高度な言語と低レベルの言語を理解してください.前述のレベルとは、難易度ではなくどの主体に近いかを意味します.高いレベルのプログラミング言語が人間に近づくほど、低いレベルのプログラミング言語がコンピュータに近づく.代表的な高級言語としてはPython、Ruby、JAVA、Cなどがあり、低級言語としては機械言語、アセンブリ言語がある.
コンピュータは機械言語を認識できるが、高級言語は理解できない.そのため、高度な言語はコンピュータが理解できる機械言語に変換しなければならない.
翻訳の使い方はコンパイラとinterpreterです.

コンパイラと割り込みプロパティ


コンパイラ

  • 元のコード(高度な言語で記述されたソースコード)を構築プロセスによってマシン言語を作成し、実行します.
  • ソースコード全体をマシン言語に変換して一度に実行します.
  • は運転速度が速い.
  • 開発の利便性が低下した.
  • インタプリタ


    1行あたり
  • を読み、すぐに実行します.
  • は運転速度が遅い.
  • 開発の利便性が高い.
  • コンパイラとinterpriterの比較


    スピード


    コンパイラでは、プログラムをコンパイルするために、すべてのプログラムソースを同時に翻訳して目的コードを生成します.
    Interpreterの場合、必要な部分を行単位文に翻訳し、すぐに実行します.
    これらの特徴により、コンパイラはすべての部分を翻訳する速度が遅い.
    これに対して、必要な部分のみをコンパイルするため、速度は速いが、プログラムを実行しながらコンパイルを実行するため、プログラム自体の速度は遅い.

    開発が容易


    たとえば、プロジェクトコードが完了しました.しかしコンパイルに1日かかりましたが、エラー入力でエラーが発生しました.
    コンパイル方法では、エラーを修正してから1日後に再コンパイルする必要があります.これは論理的な問題ではなく、単純な誤りであり、欠点は時間の浪費が深刻である.
    interpreter方式は、完全なコンパイルではなく、各ローを直接実行します.同様に、エラーによってエラーが発生した場合は、エラーを修正してプログラムを再実行するだけです.前の例に示すように、interpreterはデバッグに便利です.

    なぜこの2つの方法を使うのですか?


    コンパイル方式と割り込み方式には明確なメリットとデメリットがある.
    コンパイラは「開発は不便だが、運行速度は速い」と話している.
    interpreter氏は「開発は便利だが、運行速度は遅い」と話した.
    コードの実行方式はプログラミング言語の特徴とも一致する
    低レベルの言語開発は便利性が悪いが、実行速度が速く、高レベルの言語開発は便利性が高いが、実行速度が遅い.
    ハイレベル言語は開発の利便性を生命とする言語であり、毎回コンパイルされると、その利点は失われる.そのため、Python、Rubyなどのハイレベル言語は主にinterpreter方式を用いている.
    逆に、開発プロセスが困難であっても、低レベルの言語は最高の性能、効率、速度を創造することを望んでいます.しかし,interpreter方式で動作し,遅い環境で動作すると,低レベル言語を開発する理由は消えてしまう.したがって,C,C++のような比較的低レベルに近い言語は通常コンパイル方式で実行される.
    [은핑]님의 글이 한 번에 정리가 잘 되어 가져왔다.
    [ソース]
    マシンとコンポーネントの違い
    [OS] Compiler vs Interpreter
    [暗黙的]コンパイラとinterpreterの特徴、違い
    コンパイラと割り込みの特性とメリットとデメリット