高レベルプログラミングとは
高レベルのプログラミングでは、プログラミング中の特定のコンピューターのハードウェアをプログラマーが直接処理する必要がないように、言語でコンピュータープログラムを作成します。 この抽象化により、プログラマは、プログラムの設計、フロー、機能に重点を置くことができ、これらの目標を達成するための基本的なシステムリソースのマーシャリングに専念できなくなります。 高レベルのプログラミング言語は、プログラマーが特定のシステムのハードウェアの仕様ではなく概念を理解するだけで済むように、メモリ管理または入出力を処理できます。 高レベルのプログラミングとは対照的に、低レベルのプログラミングでは、記述されたコンピューターコードとコンピューターが実行するアクションとの間の分離は、あるとしてもほとんどありません。
高度なプログラミング言語の開発は、容易に理解および変更できる人間が読み取り可能なソースコードファイルの必要性に応えるものでした。 自然言語ソリューションを使用すると、アセンブリ言語や他の機械語よりも高レベルのソースコードがはるかに読みやすくなります。 コンピュータプログラムのサイズが大きくなるにつれて、低レベル言語でプログラム全体を書くことの実用性は実現不可能になりました。
人間が読むことができ、低レベルのハードウェア知識を必要としない言語でのプログラミングと引き換えに、抽象化ペナルティとして知られる概念があります。 これは、最終的なプログラムを実行するために必要な処理能力、メモリ使用量、およびその他の種類のオーバーヘッドの増加する要件を説明しています。 これは、プログラムを実行するためにインタープリターを実行する必要があるインタープリター言語に特に当てはまり、本質的には2つのアプリケーションを同時に実行する必要があります。
コンパイル言語は、読み取り可能なソースファイルをコンピューターが読み取れるマシンコードに変換する高レベルのプログラミング言語です。 コンパイルされた言語は、解釈された言語よりも抽象化のペナルティが少ないですが、それでもプリコンパイルされたライブラリと自動コンパイラ機能に依存しています。 これらの要素は、パフォーマンスが重要となる複雑なプログラムの最適化を損なう可能性があります。
高度なプログラミング言語の使用により、ユーザーフレンドリーなプログラミングも容易になりました。 これは、ほとんどの高水準言語が提供するユーザーインターフェイスに標準化された要素を簡単に追加できることによって促進されます。 必要なたびにウィンドウシステムまたはインターフェイスボタン用のカスタムコードを開発する代わりに、わずか数行のコードで使い慣れた要素を簡単にインターフェイスに配置できます。 これにより、エンドユーザーがより簡単に学習できるプログラム、またはすぐに慣れることができるプログラムが可能になります。
「高レベルプログラミング」という用語の使用は、プログラマの経験に関連しています。 かつて低レベルと考えられていたが、現在はそうではない中間言語がいくつかあります。 同様に、一部の高レベル言語は低レベル言語とアスペクトを共有し、それらの間の境界線を曖昧にします。