Programmation fonctionnelle Functional programming
Paradigme où le calcul s'exprime comme une composition de fonctions pures — pas d'état modifiable, pas d'effets de bord, les valeurs circulent de transformation en transformation.
Les idées de base : fonctions pures, fonctions de première classe, immutabilité, récursion à la place des boucles, fonctions d'ordre supérieur (map, filter, reduce). Les langages fonctionnels à typage statique (Haskell, OCaml, Elm) tracent la ligne de façon stricte ; les langages dynamiques (Clojure, Elixir) sont plus pragmatiques.
L'influence est partout : lambdas en Java, LINQ en C#, Stream en JS, hooks de React, Iterator de Rust. Le principe « cœur fonctionnel, coquille impérative » domine l'architecture moderne, même dans les langages qui ne sont pas fonctionnels.