Procedureprogrammering er et begreb, der bruges til at betegne den måde, hvorpå en computerprogrammør skriver et program. Denne metode til udvikling af software, som også kaldes et program, drejer sig om at holde koden så kortfattet som muligt. Den fokuserer også på et meget specifikt slutresultat, der skal opnås. Imperativ programmering er et andet begreb, der bruges til at betegne denne type udvikling. Når det er obligatorisk, at et program skal gennemføre bestemte trin for at opnå bestemte resultater, siges koden at være skrevet i henhold til procedurel programmering.
Softwareudviklere, der programmerer i henhold til dette koncept, skriver normalt en foreløbig plan i almindeligt sprog, før de rent faktisk skriver kode. Procedurel programmering undervises ofte af nybegynderstuderende i datalogi på grund af den logik, der ligger bag. De opfordres til at tænke i en række nødvendige trin, der skal tages for at nå et mål.
For eksempel kan professoren opfordre klassen til at skrive en række nødvendige handlinger ned, som skal udføres for at lave en sandwich med jordnøddesmør og syltetøj. Under foregivende at de ikke ved, hvordan man laver sandwichen, forsøger hver enkelt elev at følge instruktionerne trin for trin. De lærer, at hvis noget bliver udeladt, vil de ikke få det slutprodukt, som de ønskede, så de lærer vigtigheden af præcise instruktioner. Denne erkendelse tjener til at hjælpe eleven, når han eller hun begynder at skrive egentlig kode.
Procedurel programmering er ikke altid den foretrukne metode til kodning af programmer. Software, der er meget kompleks, kan kræve bogstaveligt talt tusindvis af kodelinjer, hvilket gør det noget vanskeligere for et hold af mennesker at arbejde med den. Nogle programmører er af den opfattelse, at ekstremt store applikationer kan blive vanskelige at vedligeholde af en enkelt udvikler.
Som nogle mennesker tror fejlagtigt, at det er umuligt at skrive meget stor eller kompleks software i et proceduralt programmeringssprog. Visse programmer kan måske være lettere at skrive ved hjælp af objektorienteret programmering (OOP), men det betyder ikke, at de ikke kan udvikles processuelt. Linux-kernen, som er kernen i et open source-operativsystem, er skrevet ved hjælp af procedurebaseret programmering. Andre store applikationer som Apache-serveren, Drupal-indholdsstyringssystemet og Samba er alle skrevet på denne måde. Disse applikationer er store og anses for at være komplekse af det overvældende flertal af programmører.
Af de eksisterende processuelle programmeringssprog findes C, Fortran og Python. Mange vigtige applikationer og hjælpeprogrammer er blevet kodet i sådanne sprog. Anaconda, installationsprogrammet til Fedora Linux, er f.eks. skrevet i Python, og det samme gælder forskellige værktøjer til softwarestyring.