Proceduralno programiranje je izraz, ki se uporablja za označevanje načina, na katerega računalniški programer piše program. Ta način razvoja programske opreme, ki se imenuje tudi aplikacija, se vrti okoli čim bolj jedrnate kode. Osredotoča se tudi na zelo specifičen končni rezultat, ki ga je treba doseči. Imperativno programiranje je še en izraz, ki se uporablja za označevanje te vrste razvoja. Kadar je obvezno, da program opravi določene korake za dosego določenih rezultatov, se pravi, da je bila koda napisana v skladu s proceduralnim programiranjem.
Razvijalci programske opreme, ki programirajo v skladu s tem konceptom, običajno napišejo predhodni načrt v preprostem jeziku, preden dejansko napišejo kodo. Proceduralno programiranje se pogosto poučuje začetnikom računalništva zaradi logike, ki stoji za tem. Spodbujajo jih, da razmišljajo o vrsti potrebnih korakov, ki jih je treba sprejeti za dosego cilja.
Profesor lahko na primer spodbudi razred, da zapiše nabor potrebnih dejanj, ki jih je treba izvesti za pripravo sendviča z arašidovim maslom in želejem. Vsak učenec se pretvarja, da ne zna narediti sendviča, korak za korakom slediti navodilom. Naučijo se, da če karkoli izpustijo, ne bodo na koncu dobili končnega izdelka, ki so ga želeli, zato se naučijo pomena natančnih navodil. To spoznanje pomaga študentu, ko začne pisati dejansko kodo.
Proceduralno programiranje ni vedno prednostna metoda kodiranja aplikacij. Zelo zapletena programska oprema lahko zahteva dobesedno na tisoče vrstic kode, kar skupini ljudi nekoliko oteži delo z njo. Nekateri programerji menijo, da lahko en razvijalec težko vzdržuje izjemno velike aplikacije.
Nekateri ljudje napačno verjamejo, da je nemogoče napisati zelo veliko ali zapleteno programsko opremo v proceduralnem programskem jeziku. Nekatere programe je morda lažje napisati z objektno usmerjenim programiranjem (OOP), vendar to ne pomeni, da jih ni mogoče razviti postopkovno. Jedro Linuxa, ki je jedro odprtokodnega operacijskega sistema, je napisano s proceduralnim programiranjem. Druge pomembne aplikacije, kot so strežnik Apache, sistem za upravljanje vsebin Drupal in Samba, so napisane na ta način. Te aplikacije so velike in jih velika večina programerjev meni, da so zapletene.
Med obstoječimi proceduralnimi programskimi jeziki so C, Fortran in Python. Številne pomembne aplikacije in pripomočki so bili kodirani v teh jezikih. Na primer, Anaconda, namestitveni program za Fedora Linux, je napisan v Pythonu, tako kot različna orodja za upravljanje programske opreme.