J'avais l'habitude de recommander que pour apprendre la programmation fonctionnelle, il fallait apprendre Haskell. De nos jours, je pense que ce conseil n'est pas aussi optimal. La raison pour laquelle Haskell est difficile, c'est à cause de son système de types massif, et non parce qu'il est fonctionnel. Une meilleure voie pour la programmation fonctionnelle serait un dérivé de Lisp comme Racket ou Clojure. De cette façon, vous vous concentrez sur la récursion et les modèles de conception fonctionnelle plutôt que sur le système de types. (Je pense toujours que tout le monde devrait apprendre Haskell à un moment donné, à la fois pour le système de types et pour l'aspect programmation fonctionnelle). Étant donné que l'IA écrira la plupart du code à l'avenir, il me semble que la compétence d'un programmeur est de spécifier rigoureusement quel comportement est attendu, puis de laisser l'IA s'en occuper. Haskell est l'un des meilleurs langages pour des spécifications rigoureuses. Aussi, quelques anecdotes amusantes à mon sujet : j'ai utilisé Clojure en production à un moment donné simplement parce que je le pouvais et que j'étais lassé des langages communs. J'étais pratiquement inéjectable, donc mon patron a dû s'y plier même s'il était (à juste titre) sceptique quant à l'utilisation d'un langage pour lequel il est impossible de recruter. Oui, j'étais ce programmeur avant.
3,07K