高水準言語 【high-level programming language】 高級言語
概要
高水準言語(high-level programming language)とは、プログラミング言語の分類の一つで、抽象的な語彙や記法、構文などを用いて処理を記述することができる言語の総称。「高水準」「高級」とは優れた言語という意味ではなく、機種やOSなどに固有の要素を極力排し、抽象度の高い記述が可能であることを表しており、アプリケーションソフトの開発などに用いられる言語の多くは高水準言語に分類される。
これに対し、コンピュータ(CPU)が直接解釈・実行できる機械語(マシン語)や、機械語と一対一に対応するアセンブリ言語などのことは「低水準言語」(low-level programming language)あるいは「低級言語」と呼ぶ。ここでの「低」はハードウェアに近いという意味である。
高水準言語は英語など自然言語の語彙や構文を利用したり、数式に似た記号や記法などを取り入れることにより、人間が記述・読解しやすい構造となっている。言語仕様はハードウェアやOSの仕様とは切り離された抽象的なものになっており、様々な環境で同じように動作する汎用的なソフトウェアの開発に向いている。
一方、ハードウェアへの直接的なアクセスやハードウェア固有の機能の利用は制限されており、また、CPUの振る舞いを細かく記述して性能を引き出すことも難しい。デバイスドライバのように装置を直接制御するような用途や、複雑で高度な機械の制御ソフトのように応答時間に強い制約があるような環境にはあまり向いていない。
高水準言語を使って人間の記述したプログラム(ソースコード)はそのままではコンピュータが解釈できないものであるため、変換ソフトウェアによって機械語による実行可能なプログラム(オブジェクトコード)に変換されて実行される。開発時にまとめて変換するものを「コンパイラ」(compiler:翻訳者の意)、実行時に逐次変換しながら並行して実行するものを「インタプリタ」(interpreter:通訳者の意)という。
(2022.5.19更新)