La programmation procédurale est un sous-ensemble de la programmation impérative où le code est organisé en procédures (ou fonctions) réutilisables, mais où les données restent externes aux fonctions.
Principe :
- Le programme est une suite d’instructions
- On organise le code en fonctions / procédures
- Les données sont séparées des traitements
Logique :
faire → puis faire → puis faire
Python
charger_donnees()
traiter_donnees()
afficher_resultat()
Avantages :
- Simple à apprendre et à lire (pour des programmes courts)
- Contrôle fin sur le flux d’exécution
- Faible surcharge (idéal pour les systèmes embarqués)
Limites :
- Difficile à maintenir à grande échelle
- Risque élevé d’effets de bord (variables globales)
- Peu adapté à la concurrence ou à la modularité forte
Héritage aujourd’hui (2026)
- Toujours utilisé dans :
- Systèmes embarqués (C)
- Scripts d’automatisation (Bash, Python scripts)
- Bases de nombreux langages modernes (même les POO ont des fonctions impératives)
- Mais remplacé ou complété par :
- La programmation fonctionnelle pour la transformation de données (ex. : pipelines ETL en Python)
- La programmation orientée objet pour la modélisation complexe
- Les approches déclaratives pour l’infrastructure (Terraform) ou l’UI (React)