Nei linguaggi imperativi l'istruzione è un comando esplicito,che operaoperante su una o più variabili oppureo sullo stato interno della macchina, e le istruzioni vengono eseguite in un ordine prestabilito. Scrivere un programma in un linguaggio imperativo significa essenzialmente occuparsi di cosa la macchina deve fare per ottenere il risultato che si vuole, e il programmatore è impegnato nel mettere a punto gli algoritmi necessari a manipolare i dati. Le strutture di controllo assumono la forma di istruzioni di flusso (GOTO, FOR, IF/THEN/ELSE ecc.) e il calcolo procede per iterazione piuttosto che per [[ricorsione]]. I valori delle variabili sono spesso assegnati a partire da costanti o da altre variabili ([[assegnamento]]) e raramente per passaggio di parametri (istanziazione).