高水準プログラミング言語のデメリット

コンピュータプログラミングの用語では、プログラミング言語は「高水準」言語と「低水準」言語に分けられることがよくあります。 2つの違いは、ハードウェアの相互作用の問題です。 簡単に言えば、低水準言語はコンピュータシステムの「下位」にあり、実際のハードウェアの相互作用に近いものです。 高水準言語はハードウェアから抽象化されています。 この抽象化の結果、コードがより速く、より読みやすくなりますが、速度が低下し、システムリソースへのアクセスが少なくなります。

抽象化

高水準言語と低水準言語の違いは、言語がシステムリソースから持つ抽象化のレベルです。 日常的にシステムリソースを処理することは、遅くて苦痛になる可能性があります。 高水準言語は、プログラマーのためにシステムを処理し、解放することによってこの問題に対処するために作成されました 彼女は、メモリなどのシステムの詳細を無視して、より高度なタスクを完了します 管理。 ただし、これには、プログラマーがシステムアクセスが必要な状況に陥る可能性があり、高級言語ではそのアクセスを許可できないという欠点があります。 高水準言語は通常、システムプログラミングには適していません。

今日のビデオ

スピード

高水準言語は通常、「コンパイルされた」低水準言語ではなく、「解釈された」言語です。 「解釈される」とは、言語がバイナリファイルをコンパイルするのではなく、一度に1行ずつソースコードを実行するインタプリタを使用することを意味します。 ただし、インタプリタは多くの場合、コンパイルされた言語で記述されたプログラムです。 このため、解釈される言語(例としてPython)は、Cで記述されたPythonインタープリター上でのみ実行されます。 これにより、インタプリタされたプログラムのメモリと時間のオーバーヘッドが増加し、多くの場合、実行速度が低下します。

システムの特殊性

高水準コードの見かけの強みは、その移植性です。 高水準コードは、適切なインタープリターがインストールされている任意のシステムで実行できます。 ただし、プログラムがコンピューター用にコンパイルされる場合、そのコンパイルではそのシステムの環境全体が考慮されます。 インタプリタ言語はすでにシステムから抽象化されており、インタプリタがシステムに提供できるものを除いて、インタプリタプログラムはシステムについて何も知りません。

プログラミングの制限

高水準言語の性質上、それらが適していない、または少なくともまだ適していない特定のタスクがあります。 システムリソースへのアクセスがなければ、OSネイティブのアプリケーションを迅速に開発することは困難です。 さらに、オペレーティングシステムの開発でさえ問題になります。 より多くのソフトウェアがオンラインに移行するにつれて、この事実はそれほど問題になりませんが、商用および産業用の使用では、インタプリタ言語の動作が遅すぎるか、ハードウェアの相互作用から離れすぎている可能性があります。