Imperativno programiranje
Imperativno programiranje, kao suprotnost deklarativnom programiranju je programska paradigma koja opisuje računanje kao izraze koji mijenjaju stanje programa. Kao što se u govornom jeziku zapovijedni način (ili imperativ) koristi za izražavanje naredbi, tako se imperativni programi mogu posmatrati kao niz naredbi koje računar treba izvršiti. Proceduralno programiranje je česta metoda izvršavanja imperativnog programiranja, te se ova dva termina često koriste kao sinonimi. Imperativni programski jezici predstavljaju suprotnost drugim tipovima jezika, kao što su funkcionalni i logički jezici. Funkcionalni programski jezici kao Haskell, nisu predstavljeni sekvencama naredbi i nemaju globalno stanje, dok logički programski jezici, poput Prologa, definišu "šta" treba da se računa, umjesto "kako" računanje treba da se odvija.