命令型プログラミング
命令型プログラミング(めいれいがたプログラミング、英: imperative programming)は、プログラムの状態(英語版)を変化させるステートメントを基本文に用いる総称的なプログラミングパラダイムである。ステートメントではコマンド(命令文)が多用される。宣言型プログラミングと対をなしてのプログラミング言語の分類用語としても扱われている。宣言型の数学的性質に対して、命令型はノイマン型コンピュータ向けの計算機科学特有の性質である。このパラダイムは、手続き型、構造化、モジュラー(英語版)、オブジェクト指向などを包括している。
ステートメント上のコマンドで状態は変化され、変化した状態の参照でステートメントの動作も変化することは副作用と呼ばれる。コマンドと副作用の存在によって命令型プログラミングは、各オペレータを状態の遷移と照らし合わせて解釈することになる。このことから命令型はhow a program operates(どう処理するか)と形容される。
宣言型プログラミングの基本文の式の方針は、コマンドと副作用を持たないことなので、そこでの参照透過な各オペレータは、その定義のままに把握できる。このことから宣言型はwhat a program accomplishes(なにを果たすか)と形容される。