Programarea procedurală este un termen folosit pentru a desemna modul în care un programator de computer scrie un program. Această metodă de dezvoltare a software-ului, care se mai numește și aplicație, se bazează pe păstrarea codului cât mai concis posibil. De asemenea, se concentrează pe un rezultat final foarte specific care trebuie atins. Programarea imperativă este un alt termen folosit pentru a semnifica acest tip de dezvoltare. Când este obligatoriu ca un program să parcurgă anumiți pași pentru a obține rezultate specifice, se spune că codul a fost scris conform programării procedurale.
Dezvoltatorii de software care programează în conformitate cu acest concept, de obicei, scriu un plan preliminar într-un limbaj simplu înainte de a scrie efectiv codul. Programarea procedurală este adesea predată studenților începători la informatică din cauza logicii din spatele acesteia. Aceștia sunt încurajați să gândească în termenii unei serii de pași necesari care trebuie făcuți pentru a atinge un scop.
De exemplu, profesorul ar putea încuraja clasa să scrie un set de acțiuni necesare pentru a face un sandviș cu unt de arahide și jeleu. Prefăcându-se că nu știe să facă sandvișul, fiecare elev încearcă să urmeze, pas cu pas, instrucțiunile. Ei învață că, dacă ceva este omis, nu vor ajunge cu produsul final pe care și-au dorit, așa că învață importanța instrucțiunilor precise. Această realizare servește pentru a ajuta studentul atunci când începe să scrie cod real.
Programarea procedurală nu este întotdeauna metoda preferată de codificare a aplicațiilor. Software-ul extrem de complex poate necesita literalmente mii de linii de cod, ceea ce face oarecum mai dificil pentru o echipă de oameni să lucreze cu el. Unii programatori sunt de părere că aplicațiile extrem de mari pot deveni dificil de întreținut de către un singur dezvoltator.
Unii oameni cred în mod greșit că este imposibil să scrieți software foarte mare sau complex într-un limbaj de programare procedurală. Anumite programe pot fi scrise mai ușor folosind programarea orientată pe obiecte (OOP), dar asta nu înseamnă că nu pot fi dezvoltate procedural. Nucleul Linux, care este nucleul unui sistem de operare open-source, este scris folosind programare procedurală. Alte aplicații majore, cum ar fi serverul Apache, sistemul de management al conținutului Drupal și Samba, sunt toate scrise în acest fel. Aceste aplicații sunt mari și sunt considerate complexe de majoritatea covârșitoare a programatorilor.
Printre limbajele de programare procedurală existente se numără C, Fortran și Python. Multe aplicații și utilități importante au fost codificate în astfel de limbi. De exemplu, Anaconda, programul de instalare pentru Fedora Linux, este scris în Python, la fel ca și diverse instrumente de gestionare a software-ului.