低水準言語 【low-level programming language】 低級言語
「低水準」「低級」とは劣った言語であることを意味するのではなく、ハードウェアに近いことを意味する。これに対し、人間の理解しやすいように設計された言語を「高水準言語」(高級言語)と呼ぶ。
一般的に低水準言語といった場合、マイクロプロセッサ(CPU/MPU)などが直接解釈・実行できる「機械語」(マシン語)と、機械語と一対一に対応する「アセンブリ言語」(ニーモニック)のことを意味する。
機械語は0と1を並べたビット列として表され、人間が読み取ったり記述したりするのは容易でないため、実際には命令コードなどを英単語などのシンボルに置き換えたアセンブリ言語でプログラムを記述し、変換ソフトウェア(アセンブラ)でマシン語のコードに変換して実行することが多い。
低水準言語は装置を直接制御するコードを記述するため、ハードウェアの機能をフルに利用することができ、機種ごとに固有の機能もすべて利用することができる。反面、仕様はメーカーや機種ごとにまちまちで、仕様が異なると同じプログラムが動作せず、汎用性は低い。
また、CPUの細かい振る舞いを直接記述することができるため、CPUの性能を引き出して高速なプログラムを記述することができ、プログラムサイズもコンパクトに抑えることができるが、制御構文などは単純で貧弱なため、大規模なソフトウェアの開発には向かない。
コンピュータの性能が向上し、様々な種類の高水準言語が普及した現在では低水準言語を利用する機会は減ったが、上記のような特徴から、現在でも周辺機器のドライバソフトや産業機器の組み込みソフトなどの開発によく利用される。
(2022.5.19更新)