コンパイラの短所と長所

...

プログラマーはコンパイラーを使用して、ソースコードをマシンコードに変換します。

コンピュータは、バイナリで記述された機械語、つまり0と1の長い文字列からコマンドを読み取ります。 コンピューターはこの言語を効率的に読み取ることができますが、ほとんどの人間のプログラマーはできません。 そのため、プログラマーは理解できるプログラミング言語で作業し、それをコンピューターが理解できる機械語に翻訳します。 多くの新しい言語は、プログラムの実行時に一方から他方に翻訳するインタプリタを使用しますが、古い言語は プログラミング言語は、コンピューターが実行する前にこの変換を完全に実行するコンパイラーを使用していました。 プログラム。

利点:自己完結型で効率的

コンパイルされるプログラムの主な利点の1つは、実行の準備ができている自己完結型のユニットであるということです。 それらはすでに機械語のバイナリにコンパイルされているため、ユーザーが最新の状態に保つ必要のある2番目のアプリケーションやパッケージはありません。 プログラムがx86アーキテクチャ上のWindows用にコンパイルされている場合、エンドユーザーはx86アーキテクチャ上で実行されているWindowsオペレーティングシステムのみを必要とします。 さらに、プリコンパイルされたパッケージは、ソースコードをリアルタイムでコンパイルするインタプリタよりも高速に実行できます。

今日のビデオ

短所:ハードウェア固有

コンパイラはソースコードを特定の機械語に変換するため、プログラムは OS X、Windows、またはLinux用に特別にコンパイルされたほか、32ビットまたは64ビット用に特別にコンパイルされました アーキテクチャ。 可能な限り多くのユーザーに製品を提供しようとしているプログラマーやソフトウェア会社にとって、これは同じアプリケーションのソースコードの複数のバージョンを維持することを意味します。 これにより、ソースコードのメンテナンスにより多くの時間が費やされ、アップデートがリリースされたときに余分な問題が発生します。

利点:ハードウェアの最適化

特定のハードウェアパッケージに固定されることには欠点がありますが、プログラムをコンパイルするとパフォーマンスも向上する可能性があります。 ユーザーは、プログラムが実行されるハードウェアの詳細に関して、コンパイラーに特定のオプションを送信できます。 これにより、コンパイラーは、より一般的なコードではなく、指定されたハードウェアを最も効率的に使用する機械語コードを作成できます。 これにより、上級ユーザーは自分のコンピューターでプログラムのパフォーマンスを最適化することもできます。

短所:コンパイル時

コンパイラを使用することの欠点の1つは、実際にソースコードをコンパイルする必要があることです。 多くの初心者プログラマーがコーディングする小さなプログラムはコンパイルにわずかな時間がかかりますが、大規模なアプリケーションスイートはコンパイルにかなりの時間がかかる可能性があります。 プログラマーがコンパイラーの終了を待つ以外に何もすることがない場合、この時間は、特に 機能をテストしてトラブルシューティングするためにコードをコンパイルする必要がある開発段階 グリッチ。