Oh, encore un article "tel paradigme/langage est mieux, voilà pourquoi".
Tous les 2 ou 3 ans, on a le droit à ce genre d'articles. Bien sûr, ils sont intéressants lorsqu'ils pointent les défauts d"un paradigme ou d'un langage, puisqu'ils permettent d'en être conscient et de faire en fonction de ces défauts ou limitations.
Globalement, j'en suis venu à penser que le meilleur paradigme et le meilleur langage est :
...
...
...
...
Ça dépend.
Ça dépend du contexte (vous n'allez pas révolutionner une entreprise du CAC 40 ou du Fortune 500, mais il faut tout de même que ses logiciels évoluent). Il en va de la programmation comme de la politique ou des idées : elles dépendent du contexte.
Le contexte de déploiement, de moyens, de connaissance, de qualification, de maitrise, etc. sont tout autant de paramètres qui influeront sur la décision. Certes, dans l'idéal, il faudrait qu'un programme soit développé avec la bonne méthode, le bon paradigme et donc le bon langage, par des équipes qualifiées, etc. Il n'y a qu'au niveau du projet personnel ou si vous êtes chef d'entreprise que vous avez le pouvoir de choisir ce que bon vous semble. Et encore.
J'ai un problème avec la programmation fonctionnelle, que je n'ai pas avec la programmation impérative ou objet, ce dont l'article ne parle pas, ce dont AUCUN article ne parle pas à propos de la programmation fonctionnelle : elle demande une bonne maîtrise des mathématiques.
Lorsqu'on a une formation en informatique, ce n'est en général pas un problème : nous avons tous le bagage mathématique nécessaire à la programmation fonctionnelle. Mais comment on explique la programmation fonctionnelle à un béotien ? Il est où l'article "la programmation fonctionnelle expliquée à mes grands-parents" ?
Certes, me direz vous, pour utiliser un programme développé selon ce paradigme, il n'y a pas besoin de connaître les mathématiques. Mais pour comprendre les sources ?
Contrairement au paradigme impératif ou objet qui ne nécessitent que quelques heures d'explication pour pouvoir entrevoir à quoi sert un code source donné, la programmation fonctionnelle nécessite un temps d'investissement plus grand, et devient donc bien plus élitiste.
Les paradigmes impératif et objet semblent naturels parce que l'explication peut se faire par analogie physique. Le plus grand nombre, s'il est intéressé, peut comprendre relativement facilement l'impératif ou l'objet (ou même l'événementiel d'ailleurs). Pour le fonctionnel, il faut avoir suivi des cours de mathématiques. L'impératif, l'objet ou l'événementiel peut être compris de façon intuitive. Pas la programmation fonctionnelle.
Or un code source qui ne peut être lu et compris que par une élite n'est pas forcément quelque chose de bénéfique. Et si c'est pour s'éviter des problèmes qu'on sait déjà éviter, je ne vois pas trop l'intérêt, pour moi on y perd plus qu'on y gagne.
Je préfère largement l'approche "voici les problèmes de votre langage/paradigme et comment les éviter" plutôt qu'un énième "c'est de la merde, faut tout changer". Parce que dans 5 ans, un autre article populaire dira que la programmation fonctionnelle, c'est de la merde, et faut tout changer