Programarea orientată pe procedură este o listă sau un set de instrucțiuni care indică unui computer ce trebuie făcut pas cu pas și cum se efectuează de la un cod la altul. Se concentrează mai degrabă pe proces decât pe date .
Un program scris în limba procedurală este o listă de instrucțiuni în care fiecare instrucțiune spune computerului să facă o sarcină. Este necesar un algoritm pentru a efectua calculul derivat. Când programul scris devine mai mare, este împărțit în funcții (procedură), fiecare funcție având un scop clar definit. O sarcină potențială poate implica mai mulți pași, cum ar fi imprimarea, și fiecare funcție realizează o anumită secțiune a acelei sarcini și apoi se mută în etapa următoare.
Limbile de programare de procedură includ C, C ++, Go, Fortran, Pascal și BASIC. Spre deosebire de limbile de programare orientate pe obiect, care defalc sarcina în obiecte și se concentrează pe structura datelor, aceste limbi de programare descompun sarcinile în funcții și pun accent pe proces, nu pe date. Fiecare funcție are acces complet la variabilele globale, astfel încât manipularea codului poate corupe datele creând o nouă funcție. Abilitatea de a crea un nou tip de date pe cont propriu se numește extensibilitate, iar limbile de programare procedurală nu sunt extensibile.