La programmazione procedurale è un termine usato per indicare il modo in cui un programmatore di computer scrive un programma. Questo metodo di sviluppo del software, che è anche chiamato applicazione, ruota intorno al mantenere il codice il più conciso possibile. Si concentra anche su un risultato finale molto specifico da raggiungere. La programmazione imperativa è un altro termine usato per indicare questo tipo di sviluppo. Quando è obbligatorio che un programma completi certi passi per ottenere risultati specifici, si dice che il codice è stato scritto secondo la programmazione procedurale.
Gli sviluppatori di software che programmano secondo questo concetto di solito scrivono un piano preliminare in linguaggio semplice prima di scrivere effettivamente il codice. La programmazione procedurale viene spesso insegnata agli studenti principianti di informatica a causa della logica che c’è dietro. Sono incoraggiati a pensare in termini di una serie di passi necessari che devono essere fatti per realizzare un obiettivo.
Per esempio, il professore potrebbe incoraggiare la classe a scrivere una serie di azioni necessarie per fare un panino al burro di arachidi e marmellata. Fingendo di non sapere come fare il panino, ogni studente cerca di seguire, passo dopo passo, le istruzioni. Imparano che se qualcosa viene tralasciato, non otterranno il prodotto finale che volevano, quindi imparano l’importanza di istruzioni precise. Questa consapevolezza serve ad aiutare lo studente quando comincia a scrivere il codice vero e proprio.
La programmazione procedurale non è sempre il metodo preferito per codificare le applicazioni. Il software che è altamente complesso può richiedere letteralmente migliaia di linee di codice, rendendo un po’ più difficile per un team di persone lavorarci. Alcuni programmatori hanno l’opinione che applicazioni estremamente grandi possono diventare difficili da mantenere da un solo sviluppatore.
Alcune persone credono erroneamente che sia impossibile scrivere software molto grande o complesso in un linguaggio di programmazione procedurale. Alcuni programmi potrebbero essere scritti più facilmente usando la programmazione orientata agli oggetti (OOP), ma questo non significa che non possano essere sviluppati proceduralmente. Il kernel di Linux, che è il nucleo di un sistema operativo open-source, è scritto usando la programmazione procedurale. Altre applicazioni importanti come il server Apache, il sistema di gestione dei contenuti Drupal e Samba, sono tutte scritte in questo modo. Queste applicazioni sono grandi e sono considerate complesse dalla stragrande maggioranza dei programmatori.
Tra i linguaggi di programmazione procedurale esistenti ci sono C, Fortran e Python. Molte applicazioni e utilità importanti sono state codificate in questi linguaggi. Per esempio, Anaconda, il programma di installazione di Fedora Linux, è scritto in Python, così come vari strumenti di gestione del software.