Langages
Les principaux paradigmes de programmation
| Paradigme | Principes | Exemples | Avantages |
|---|---|---|---|
| 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
