Programmation Procédurale VS Programmation Orientée-Objet (POO)

Deux approches

  1. Programmation Procédurale : Centrée sur les procédures (ou opérations)
  2. Programmation Orientée-Objet : Centrée sur les données

La programmation procédurale

  • Centrée sur les procédures (opérations)
    • Décomposition des fonctionnalités d'un programme en procédures qui vont s'exécuter séquentiellement
  • Couplage procédures/données
    • Les données sont indépendantes procédures
    • Les données à traiter sont passées en arguments aux procédures
  • Ressemble peu à notre schème de penser
    • Vue algorithmique d'un programme donc très près du langage de la machine
    • Le programmeur doit faire un effort cognitif pour interpréter ce qu'il veut modéliser pour être "compris" par la machine
    • Peu intuitif lors de l'analyse d'un code existant
  • Tend à générer du code "Spaghetti"
    • La maintenance et l'ajout de nouvelles fonctionnalités demandent de modifier ou d'insérer des séquences dans ce qui existe déjà
    • Peu devenir complexe très rapidement
    • Modularité et abstraction absente (ou presque)
    • Réutilisation ardue => "Couper-coller" = DANGER!
    • Travail d'équipe difficile (peu modulaire), donc la qualité du code en souffre

La POO

  • Centrée sur les données
    • Tout tourne autour des "objets" qui sont des petits ensembles de données représentants leurs propriétés

      Ex.: Un chat a 4 pattes, une queue et fait partie de la famille des félins

      Ex.: Une automobile 4 portes, familiale, moteur 6 cylindres, automatique, etc.

Définition

schème (gr. skhêma, figure)
Structure d'ensemble d'un processus.