Un modul de cod independent care îndeplinește o sarcină concretă și este referit într-un corp mai mare de cod de program. Rolul fundamental al unei proceduri este de a oferi un singur punct de referință pentru un obiectiv sau sarcină mică pe care dezvoltatorul sau programatorul o poate declanșa prin invocarea procedurii în sine.
Procedură este folosită ca un termen general care se poate referi la o procedură reală sau la o metodă, funcție, sub-rutină sau modul cu orice alt nume prin care modulele sunt cunoscute în alte limbaje de programare.
Unele limbaje de programare fac o distincție între o funcție, care returnează o valoare, și o procedură, care efectuează o anumită operație, dar nu returnează o valoare.