命令型プログラミング
ほとんど全てのコンピュータのハードウェア実装は命令型である。ほぼ全てのコンピュータハードウェアは機械語を実行するよう設計されており、機械語は命令から構成される。このような低レベルから見た場合、プログラムの状態はメモリの内容によって定義され、文としては機械語の命令が相当する。高級な命令型言語は変数や他の複雑な構文を使用可能となっているが、基本的に同じパラダイムである。レシピやチェックリストはプログラムではないが、命令型プログラミングのスタイルに似たコンセプトである。それらのステップが命令であり、実世界が状態を保持している。命令型プログラミングの基本的考え方はハードウェアの実装に近く、概念的にもなじみ深いため、多くのコンピュータ言語が命令型のスタイルである。
代入文は一般にメモリ上のある位置に存在する情報への操作であり、結果を後で使用するためにメモリ上に格納する。高級命令型言語ではさらに複雑な式の評価が可能となっており、算術操作や関数評価の組み合わせによる式が可能で、その計算結果をメモリに格納する。ループ文は文の並びを繰り返し実行させる。ループは、事前に決められた回数だけ繰り返す場合と、指定された条件が変化するまで繰り返す場合がある。条件分岐文は、何らかの条件が成り立ったときだけ指定された文の並び(ブロック)を実行する。条件が成り立たない場合、そのブロックはスキップされ、その次の文から処理が続行される。無条件分岐文は制御をプログラム内の別の箇所に転送する。無条件分岐には、多くの言語にあるGoto文、サブプログラム、プロシージャ呼び出しなどがある。