Pakottava ohjelmointi on tietokoneohjelmoijien käyttämä menetelmä. Tämäntyyppisessä ohjelmoinnissa käytetyt lausumat antavat tietokoneelle komentoja seurattavia toimia varten. Tämä on päinvastainen kuin deklaratiivinen ohjelmointi, jota käytetään kertomaan tietokoneelle, mitä on tehtävä, ilman että annetaan yksityiskohtaisia tietoja siitä, miten toimenpiteet on suoritettava.
Imperatiivinen ohjelmointi nimettiin siten luonnollisilla kielillä käytetyn pakollisen mielialan ja rakennettujen kielten, kuten tietokoneohjelmointikielten, perusteella. Viestinnän aikana pakollista aikamuotoa käytetään suoran komennon antamiseen jollekin. Nämä komennot vaativat yleensä tiettyä toimintaa viestin vastaanottavalta yleisöltä. Pakottavan mielialan komento – toiminnan tulos on sama kuin tämäntyyppinen ohjelmointi toimii tietokoneiden kanssa.
Joissakin tapauksissa tätä ohjelmointimenetelmää kutsutaan myös prosessiohjelmoinniksi. Proseduuriohjelmointi viittaa siihen tosiasiaan, että tämäntyyppinen tietokoneohjelmointi tarjoaa tietokoneille noudatettavia menettelyjä, jotta ohjelma voidaan rakentaa ja suorittaa. Toimenpiteitä kutsutaan myös aliohjelmiksi tai funktioiksi.
Pakollista ohjelmointia on käytetty jo 1950 -luvulta lähtien. FORTRAN on yksi varhaisimmista esimerkeistä pakollisesta ohjelmointikielestä. Kehittämällä FORTRANia ja monimutkaisempia versioita tämän tyyppisestä ohjelmoinnista tietokoneohjelmoijat pystyivät luomaan paljon monimutkaisempia ohjelmia verrattuna siihen, mitä he alun perin pystyivät tekemään vain käytettävän tietokoneen konekoodin avulla. Tämä puolestaan on antanut tietokoneiden kehittyä, jotta ne voivat luoda ja käyttää paljon kehittyneempiä sovelluksia.
Ajan myötä pakollisista ohjelmointikielistä on tullut yhä kehittyneempiä. Muuttujat, lausekkeet, funktiot ja aliohjelmat ovat nyt osa pakollista ohjelmointia käyttäen kirjoitettua ohjelmaa. Nykyaikaisia kieliä ovat ne, jotka noudattavat olio-ohjelmointia. Objektisuuntautunut ohjelmointi käyttää objekteja tietokoneohjelmien ja -sovellusten suunnitteluun ja kokoamiseen. Objekti on mitä tahansa, jota voidaan käsitellä suorittamalla tietokoneohjelma, joka sisältää muuttujia, toimintoja, arvoja ja tietorakenteita.
Deklaratiivinen ohjelmointi on päinvastainen tapa ohjelmoida kuin pakollinen. Kun tietokoneohjelmoijat käyttävät deklaratiivista ohjelmointia, he kuvailevat, mitä he haluavat tapahtuvan, tai haluamiaan tuloksia ohjelmansa suorittamisesta. Vaikka tulokset on annettu, hälytysten saavuttamisprosessi ei ole. Se, että vaiheittaisia menettelyjä ei tarjota, on tärkein ero deklaratiivisen ohjelmoinnin ja pakollisen ohjelmoinnin välillä.