Bien que les racines de la programmation fonctionnelle remontent aux années 1930 (dans le cadre de la recherche mathématique fondamentale), l’approche fonctionnelle jouit encore d’une grande popularité, surtout dans les domaines techniques et en mathématiques. Il y a plusieurs raisons à cela :
- Les possibilités étendues de transformation algébrique des programmes.
- De vastes possibilités en matière de synthèse algébrique de programmes.
- Options simples d’analyse sémantique grâce à l’élimination des « états internes aux procédés de calcul » et des « effets secondaires ».
- Élimination des états internes : contrairement à ce qui se passe en programmation impérative, il n’est pas nécessaire de faire référence à des états internes dans les procédés de calcul.
- Suppression des effets secondaires : les changements d’état qui appartiennent aux états internes, ce qu’on appelle les effets secondaires, peuvent également être supprimés dans le travail fonctionnel.
La programmation fonctionnelle offre un haut degré d’abstraction parce qu’elle s’appuie sur le principe mathématique de la fonction. Utilisé de façon appropriée, ce type de programmation permet de générer un code très précis. Pour résoudre une tâche de grande ampleur, un programme a à sa disposition un très grand nombre d’unités beaucoup plus petites, utilisables à plusieurs reprises et très spécialisées : les fonctions.
Il existe donc des raisons pratiques qui expliquent pourquoi la programmation fonctionnelle et les langages de programmation relevant de ce paradigme occupent encore aujourd’hui une place particulière en informatique, en particulier lorsqu’il s’agit de tâches mathématiques complexes et d’algorithmes. De plus, le caractère très spécial de ses domaines d’application garantit aux langages de programmation fonctionnels une existence de niche.