Functional Programming
La programmation fonctionnelle met l'accent sur les fonctions pures, les données immuables et un style déclaratif, en évitant les effets de bord et l'état partagé.
Objectif
Construire du code fiable et testable grâce à la composition de fonctions et aux données immuables.
Mécanisme
Fonctions pures (sans effets de bord), immuabilité, fonctions d'ordre supérieur, évaluation paresseuse, composition de fonctions, curryfication. Haskell est purement fonctionnel ; Scala/JS sont multiparadigmes. Forces : testabilité, parallélisabilité, raisonnement. Faiblesses : courbe d'apprentissage, performances.
Cas d’usage
- Conception de code
- Sécurité de la concurrence
- Testabilité