W programowaniu imperatywnym program jest listą instrukcji (mniej lub bardziej elementarnych), które mają być wykonywane kolejno z możliwością wielokrotnego powtarzania pewnych czynności zapisanych raz czyli wykonywania pętli (iteracji). Zestaw instrukcji zawierający rozkazy operacji na pewnych danych wraz z rozkazami skoków bezwarunkowych i warunkowych (zaburzających zasadę bezpośredniego następstwa) jest istotą każdego z kodów maszynowych, najbardziej pierwotnego języka wykonywanego w maszynach o tzw. architekturze von Neumanna.
Architektura von Neumanna zakłada że:
—maszyna składa się z pamięci oraz jednostki centralnej, która wykonuje rozkazy (procesora);
— rozkazy oraz dane zapisane są w tej samej pamięci w ten sam sposób;
—rozkazy są kolejno z pamięci wczytywane do jednostki centralnej i wykonywane;
—każdy rozkaz powoduję zmianę stanu maszyny rozumianego jako zawartość całej pamięci włącznie z rejestrami i znacznikami procesora; rozkazy mogą więc zmieniać wewnętrzne ustawienie jednostki centralnej, w tym miejsce, z którego będzie czytany następny rozkaz.
W praktyce dzisiejsze komputery budowane są (i działają) w oparciu o architekturę von Neumanna. Zatem najbardziej naturalnym paradygmatem dla maszyny jest paradygmat imperatywny, zaś dla człowieka wygodniejszym sposobem komunikowania jest określenie, co ma być osiągnięte, bez wdawania się w detale wykonania czyli paradygmat deklaratywny.