Aller au contenu principal

Langages

Les principaux paradigmes de programmation

ParadigmePrincipesExemplesAvantages
Impératif / procédural• Suite d’instructions qui modifient l’état (variables).
• Structure séquentielle.
• Utilisation de boucles/conditions.
C, PHP et Python (style impératif)• Simple à comprendre pour les débutants.
• Contrôle fin du flux d’exécution.
• Adapté aux tâches système et embarquées.
Orienté objet (OO)• Concepts d’objets, de classes, d’encapsulation, d’héritage et de polymorphisme.
• Le code est organisé autour de modèles réutilisables.
Java, C++, PHP, Python, C#• Favorise la modularité et la réutilisation (héritage, composition).
• Encapsulation → meilleure isolation des responsabilités.
• Facile à modéliser des systèmes du monde réel.
Fonctionnel• Fonctions pures.
• Immutabilité.
• Récursivité.
Lisp, idiomes fonctionnels en Python/JS• Code plus prévisible (fonctions pures).
• Concurrence facilitée (immutabilité).
• Pas d’effets de bord.
Événementiel• Le flux de contrôle est déclenché par des événements (clics, messages, signaux).
• Souvent couplé à des boucles d’attente ou des callbacks.
JavaScript (navigateur), C# (WinForms/WPF), Node.js, Qt, Android• Très adapté aux interfaces graphiques et aux systèmes temps‑réel.
• Découplage naturel entre producteurs et consommateurs d’événements.
• Permet une réactivité élevée.
Déclaratif• On décrit ce que doit être fait, pas comment.
• Le moteur d’exécution se charge de la réalisation.
• cf Déclarative vs Impérative
SQL, HTML/CSS, React (JSX)• Code plus concis et lisible : on se concentre sur le résultat souhaité.
• Moins d’erreurs liées à la gestion du contrôle de flux.
• Facilite l’optimisation interne du moteur (ex. : planificateur de requêtes SQL).

Points à retenir

  • Un même langage peut supporter plusieurs paradigmes : par ex., Python est principalement impératif/objet, mais il offre aussi des constructions fonctionnelles et déclaratives.
  • Le choix du paradigme dépend du problème à résoudre, de la taille et de la complexité du projet, ainsi que des préférences et de l’expertise de l’équipe.
  • Les projets modernes combinent souvent plusieurs paradigmes : une application web en JavaScript utilise souvent le style impératif/procédural (boucles/conditions), fonctionnel (map/reduce) et événementiel (gestion des clics).

Test de mémorisation/compréhension


Qu'est-ce que la programmation impérative ?


Quel est le principe de la programmation orientée objet ?


Que privilégie la programmation fonctionnelle ?


Qu'est-ce qui caractérise le paradigme événementiel ?


Qu'est-ce que la programmation déclarative ?


Parmi ces langages, lesquels permettent de faire de la programmation orientée objet ?


Parmi ces langages, lesquels sont des exemples de langages déclaratifs ?


Un même langage peut-il supporter plusieurs paradigmes ?


languages.png