Programmation procédurale

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)