Imperativno programiranje je metoda, ki jo uporabljajo računalniški programerji. Stavki, ki se uporabljajo pri tej vrsti programiranja, dajejo računalniku ukaze za dejanja, ki jim je treba slediti. To je nasprotje deklarativnega programiranja, ki se uporablja, da računalniku pove, kaj je treba storiti, ne da bi navedel podrobnosti o tem, kako je treba izvesti dejanja.
Imperativno programiranje je bilo tako poimenovano na podlagi imperativnega razpoloženja, ki se uporablja v naravnih jezikih v primerjavi z zgrajenimi jeziki, kot so računalniški programski jeziki. Med komunikacijo se imperativ uporablja, da nekomu damo neposreden ukaz. Ti ukazi običajno zahtevajo določeno dejanje od občinstva, ki prejme sporočilo. Ukaz – dejanje rezultat imperativnega razpoloženja je enak način, kot ta tip programiranja deluje z računalniki.
V nekaterih primerih se ta način programiranja imenuje tudi proceduralno programiranje. Proceduralno programiranje se nanaša na dejstvo, da ta vrsta računalniškega programiranja zagotavlja postopke, ki jih računalniki sledijo, tako da je mogoče program zgraditi in zagnati. Postopki se imenujejo tudi podprogrami ali funkcije.
Že od petdesetih let prejšnjega stoletja se uporablja imperativno programiranje. FORTRAN je eden najzgodnejših primerov imperativnega programskega jezika. Z razvojem FORTRANA in bolj zapletenih različic te vrste programiranja so lahko računalniški programerji ustvarili veliko bolj zapletene programe v primerjavi s tistim, kar so sprva lahko počeli z uporabo samo strojne kode računalnika, na katerem so delali. To je omogočilo, da so se računalniki razvili, tako da lahko ustvarjajo in izvajajo veliko naprednejše aplikacije.
Sčasoma so postali imperativni programski jeziki vse bolj izpopolnjeni. Spremenljivke, izrazi, funkcije in podprogrami so zdaj del programa, napisanega z imperativnim programiranjem. Sodobni jeziki vključujejo tiste, ki sledijo objektno usmerjenemu programiranju. Objektno usmerjeno programiranje uporablja predmete za načrtovanje in prevajanje računalniških programov in aplikacij. Objekt je vse, s čimer je mogoče manipulirati z izvajanjem računalniškega programa, ki vključuje spremenljivke, funkcije, vrednosti in podatkovne strukture.
Deklarativno programiranje je nasproten način programiranja od imperativnega. Ko računalniški programerji uporabljajo deklarativno programiranje, opisujejo, kaj želijo, da se zgodi, ali želene rezultate izvajanja svojega programa. Čeprav so rezultati podani, postopek za dosego teh opozoril ni. Dejstvo, da postopki po korakih niso zagotovljeni, je ključna razlika med deklarativnim programiranjem in imperativnim programiranjem.