手続き型プログラミング(英: )とは、「手続き呼び出し」の概念に基づくプログラミングパラダイムの一種。命令型プログラミングと同義に扱われることが多い。「手続き」は
プロシージャ、
ルーチン、サブルーチン、
メソッド、
関数(数学の
関数とは異なるが、
関数型言語における
関数とほぼ同義)など様々な呼称があるが、実
行すべき一連の計算ステップを持つものと定義できる。手続きはプログラム実
行中の任意の時点で呼び出すことができ、他の手続きからの呼び出しも、自分自身からの呼び出し(
再帰呼び出し)も含まれる。
手続き型プログラミングは単純な逐次型プログラミングや非
構造化プログラミングよりも多くの場合よりよい選択である。非
構造化プログラミングでは複雑なコードを組むことは困難であり、保守性が悪い。手続き型プログラミングには、以下のような利点がある:
- コードを同じプログラム内でコピーすることなく再利用可能
- GOTO文やJUMP命令だけでプログラムの制御構造を構築するよりも容易(そのような制御構造だけで作られた巨大なプログラムをスパゲティプログラムと呼ぶ)
- モジュール性の高い構造化プログラミングが可能