非手続き型言語 【non-procedural language】
概要
非手続き型言語(non-procedural language)とは、コンピュータのプログラミング言語のうち、処理手順を一つずつ順番に書き示していく「手続き型言語」には分類されない言語の総称。関数型言語や論理型言語などが含まれる。コンピュータが実行するプログラムはCPUに対する命令を実行順に並べた機械語(マシン語)であることから、プログラミング言語は機械語と一対一に対応するアセンブリ言語(低水準言語)から発展し、手続きを実行順に一つずつ並べる形式の手続き型言語が主流となっている。
一方、非手続き型言語は処理を順を追って記述することはせず(記述する機能自体は持っていることが多い)、扱う問題やデータの構造や性質を記述していくなどの手法でプログラムを記述する。できたプログラムはコンパイラなどがコンピュータが実行可能な低水準言語の手続きの集合に変換し、実行される。
プログラムを関数の組み合わせをとして記述する関数型言語、要素感の論理的な関係を記述していく論理型言語、あるべき状態や満たすべき条件などを宣言していく宣言型言語などが含まれる。処理をオブジェクトに付随する要素としてまとめるオブジェクト指向言語を非手続き型に分類することもある。データベースの問い合わせ言語やドメイン固有言語を分類する場合もあるが、これらはそもそもプログラミング言語に含まれないとする立場もある。
(2023.5.11更新)