J'ai remarqué récemment que les langages de programmation fonctionnels gagnent en popularité . J'ai récemment vu comment l' indice de Tiobe montre une augmentation de leur popularité par rapport à l'année dernière bien que la plupart d'entre eux n'atteignent même pas les 50 langues les plus populaires selon cet indice.
Et c'est le cas depuis assez longtemps. La programmation fonctionnelle n’est tout simplement pas devenue aussi populaire que d’autres modèles (c.-à-d. La programmation orientée objet).
J'ai toutefois constaté un regain d'intérêt pour le pouvoir de la programmation fonctionnelle et, maintenant que les multicœurs sont de plus en plus populaires, les développeurs ont commencé à s'intéresser à d'autres modèles de concurrence déjà explorés dans le passé par des langages tels que Haskell et Erlang.
Je constate avec un vif intérêt le fait que, malgré leur manque d’acceptation de la part de la communauté, de plus en plus de langues de ce type continuent d’apparaître. Clojure (2007), Scala (2003), F # (2002) ne sont que trois exemples de la dernière décennie.
J'ai moi-même investi du temps à apprendre Haskell et Scala. Et je trouve un grand potentiel dans le paradigme qui était nouveau pour moi alors qu’il était là-bas depuis si longtemps.
Et bien sûr, ma plus grande question est de savoir si l’un d’eux va devenir assez populaire pour qu’il soit envisagé de s’efforcer de le faire, mais c’est une question à laquelle même Mandrake n’a pas pu répondre, malgré tout le bruit que les gens font à leur sujet.
Ce que je veux demander, c'est:
- Dans quels scénarios devrais-je considérer un langage de programmation fonctionnel plus apte à effectuer une tâche donnée? Outre le problème de la programmation parallèle très populaire qui a récemment fait fureur.
- Si je décidais de passer à un langage de programmation fonctionnel, lequel considéreriez-vous comme le plus gros piège auquel je serais confronté? (Outre le changement de paradigme et la difficulté d'évaluer les performances en raison d'une évaluation paresseuse).
- Avec autant de langages de programmation fonctionnels, comment choisir celui qui convient le mieux à vos besoins?
Toute recommandation pour des recherches ultérieures sera plus que bienvenue.
J'ai recherché des opinions sur le Web, et il semble que toute cette popularité renouvelée vienne de l'idée que nous allons bientôt nous retrouver face à la loi de Moore et que les langages de programmation fonctionnels viendront nous sauver héroïquement. Mais si tel est le cas, je dirais qu'il y a plus de probabilités que les langages populaires existants s'adaptent au paradigme.
Certains d’entre vous, ayant peut-être plus d’expérience au quotidien avec ces langues, peuvent offrir plus de perspicacité sur le sujet. Toutes vos opinions seront mieux appréciées et soigneusement examinées.
Merci d'avance!