マシンレベルのコードを書くのは難しいプロセスです。
画像クレジット: Jupiterimages / Photos.com / Getty Images
プログラミング言語の目的は、コンピューターを高価な電子文鎮から有用なデータ処理およびストレージデバイスに変換することです。 このタスクを実行するための言語の選択は、効率と使いやすさの間のトレードオフです。 機械語は、これら両方の要因のスペクトルの極限を表しています。
機械語
機械語は、翻訳者なしでコンピューターが理解できる唯一の命令セットを生成します。 コンピューターは、オーディオとビデオの再生、データ処理とストレージ、インターネットを管理します 1つだけを認識する命令セットに応答することによるコミュニケーションおよび他のすべての特殊なタスク とゼロ。 1と0で構成される数百行のコードを記述することは、CやJavaなどの高級言語の人気を説明する厳密で退屈なプロセスです。
今日のビデオ
初期の利点
最初のIBMパーソナルコンピュータには、512キロバイトのランダムアクセスメモリと360キロバイトのフロッピードライブが搭載されていました。 オペレーティングシステムがフロッピードライブからメモリにロードされた後、プログラムは残りのドライブにロードされました アクティブなプログラムが処理するために、RAMの非常に小さな領域(多くの場合100キロバイト未満)を残すメモリスペース データ。 この期間中、プログラマーの主な関心事は無駄のない効率的なコードでした。 これらの初期のコンピューターで選択されたプログラミングツールは通常、機械語であり、BASICまたはCで記述されたバージョンよりもかなり小さい場合があります。 また、子孫のアセンブリ言語を使用する方がやや簡単でした。
プラットフォームの依存関係
機械語はコンピューターのハードウェアに直接対応し、プログラマーがプログラムの実行のあらゆる側面を完全に制御できるようにします。 このアプローチの欠点は、プログラマーが効果的なコードを作成する前に、各チップセットのアーキテクチャを知っている必要があることです。 たとえば、ビデオカードやドライブコントローラなどのコンポーネントが変更された場合、新しいデバイスを認識してアドレス指定するには、機械語コードを更新する必要があります。
高水準言語
機械語の速度とメモリフットプリントが小さいという利点は、バイナリコードでチップレベルの命令を書くことの難しさによってますます重要になっています。 ギガバイトのRAMとテラバイトの利用可能なストレージにより、最新のパーソナルコンピューターで無駄のない効率的なコードが不要になりました。 CやJavaなどの高級言語で記述されたプログラムによる追加のメモリとストレージの需要は、開発プラットフォームを選択する際の要因ではなくなりました。 使いやすさと将来のプログラム保守の懸念は、ほとんどの最新のソフトウェアプロジェクトの速度と効率に取って代わります。