I linguaggi imperativi sono linguaggi di programmazione che utilizzano il paradigma di programmazione procedurale di tipo imperativo.
Nei linguaggi imperativi le parole riservate permettono di definire i dati e di scrivere le istruzioni; le parole definite dal programmatore, o identificatori, sono in genere i nomi delle variabili e i nomi delle procedure da richiamare.
Le istruzioni normalmente sono semplici da ricordare e si avvicinano al linguaggio naturale (di solito la lingua inglese).
Le istruzioni si possono suddividere in:
-
dichiarative,
-
esecutive,
-
di controllo.
Le istruzioni dichiarative permettono di definire i dati che si utilizzano; per definire una variabile bisogna stabilire il nome e il tipo di dati; il tipo di dati della variabile determina l’insieme dei valori ammessi e le operazioni eseguibili.
Nei linguaggi debolmente tipizzati non è necessario definire il tipo di dati delle variabili.
Le istruzioni esecutive comprendono quelle che si riferiscono ad operazioni effettive, come operazioni di input/output che gestiscono lo scambio di dati tra utente e programma, operazioni di assegnazione che consentono di associare un valore ad una variabile, operazioni sui dati in base al loro tipo, per esempio operazioni aritmetiche sui dati numerici ecc.
Le istruzioni di controllo governano il funzionamento del programma; permettono di solito la codifica delle strutture fondamentali di programmazione (sequenziale, di selezione e iterativa) o almeno il trasferimento, in base al verificarsi di una condizione, ad una istruzione del programma che non sia quella successiva.
In genere è possibile anche definire procedure da richiamare nei punti desiderati, a volte anche in modo ricorsivo.