Published signals

La fin du déjeuner gratuit : pourquoi Java a adopté la programmation fonctionnelle

Score: 8/10 Topic: Why Java adopted functional programming

L'adoption des lambdas par Java en 2014 n'était pas une nouveauté—Lisp les avait en 1958. C'était une réponse à la fin de l'augmentation de la fréquence CPU en 2005.

Java a introduit les expressions lambda en 2014, mais les concepts de programmation fonctionnelle remontent à Lisp en 1958. Pourquoi cet écart de 56 ans ? Cet article soutient que les langages n'adoptent des fonctionnalités que lorsque des pressions externes les rendent inévitables. Le déclencheur fut la fin de la loi de Dennard vers 2005, qui a mis fin à l'ère des fréquences CPU toujours croissantes. Avec la stagnation des performances monocœur, les développeurs avaient besoin de nouveaux outils pour exploiter les processeurs multicœurs. L'accent mis sur l'immuabilité et l'absence d'état dans la programmation fonctionnelle la rendait idéale pour l'exécution parallèle. L'auteur en fait une leçon fondamentale pour les architectes : les choix technologiques sont souvent des réactions aux contraintes, pas une pure innovation.