Imperatyvusis programavimas yra kompiuterių programuotojų naudojamas metodas. Teiginiai, kurie naudojami tokio tipo programavimui, suteikia kompiuteriui komandas veiksmams, kurių reikia laikytis. Tai yra priešinga deklaratyviajam programavimui, kuris naudojamas kompiuteriui pasakyti, ką reikia padaryti, nenurodant, kaip reikia atlikti veiksmus.
Imperatyvusis programavimas taip buvo pavadintas pagal imperatyviąją nuotaiką, naudojamą natūraliose kalbose, palyginti su konstruotomis kalbomis, tokiomis kaip kompiuterių programavimo kalbos. Bendraujant liepiamasis laikas vartojamas tiesioginiam kam nors įsakymui duoti. Šios komandos paprastai reikalauja tam tikro veiksmo iš pranešimą gaunančios auditorijos. Įsakomosios nuotaikos komanda – veiksmas yra toks pat, kaip šio tipo programavimas veikia su kompiuteriais.
Kai kuriais atvejais šis programavimo būdas dar vadinamas procedūriniu programavimu. Procedūrinis programavimas reiškia faktą, kad tokio tipo kompiuterių programavimas numato procedūras, kurių kompiuteriai turi laikytis, kad būtų galima sukurti ir paleisti programą. Procedūros taip pat vadinamos paprogramėmis arba funkcijomis.
Jau nuo šeštojo dešimtmečio buvo naudojamas imperatyvus programavimas. FORTRAN yra vienas iš pirmųjų būtinos programavimo kalbos pavyzdžių. Kurdami FORTRAN ir sudėtingesnes šio tipo programavimo versijas, kompiuterių programuotojai sugebėjo sukurti daug sudėtingesnes programas, palyginti su tuo, ką jie iš pradžių galėjo padaryti naudodami tik kompiuterio, kuriame dirbama, kodą. Tai savo ruožtu leido kompiuteriams tobulėti, kad jie galėtų kurti ir paleisti daug pažangesnes programas.
Laikui bėgant būtinos programavimo kalbos tapo vis sudėtingesnės. Kintamieji, išraiškos, funkcijos ir subprogramos dabar yra programos, parašytos naudojant imperatyvųjį programavimą, dalis. Šiuolaikinės kalbos apima tas, kurios seka objektinį programavimą. Objektinis programavimas naudoja objektus kompiuterių programoms ir programoms kurti ir kompiliuoti. Objektas yra bet kas, kuo galima manipuliuoti paleidžiant kompiuterinę programą, kuri apima kintamuosius, funkcijas, reikšmes ir duomenų struktūras.
Deklaratyvus programavimas yra priešingas programavimo būdas nei imperatyvus. Kai kompiuterių programuotojai naudoja deklaratyvųjį programavimą, jie aprašo, ko jie nori, arba norimus programos vykdymo rezultatus. Nors rezultatai pateikiami, tų įspėjimų gavimo procesas nėra. Tai, kad nepateikiamos žingsnis po žingsnio procedūros, yra pagrindinis skirtumas tarp deklaratyvaus programavimo ir būtinojo programavimo.