1. カメラ
  2. カーオーディオ&エレクトロニクス
  3. ホームオーディオ
  4. パーソナルオーディオ
  5. テレビ
  6. スマートホーム
  >> 電子技術オンライン >  >> スマートホーム >> スマートライフ

コンパイラの欠点と利点

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

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

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

欠点:ハードウェア固有

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

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

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

欠点:コンパイル時間

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