Le langage de base Haskell est vraiment simple. Issu d'un milieu OO, la principale difficulté est de s'adapter au pur paradigme fonctionnel.
Tout en apprenant Haskell "basique", j'ai toujours considéré les extensions de langage comme des jouets pour les CS ou comme des expériences pour les futures versions du langage (comme from future import ???
en python).
Cependant, quand j'ai commencé à regarder les frameworks Web tels que Yesod, je trouve que beaucoup de fichiers source nécessitent entre 3 et 4 extensions. Certains semblent assez simples (StringOverload). D'autres sont vraiment intimidants (GADT, Type Famillies, Template Haskell). Leur documentation est liée à des documents de recherche, ce qui fait peur à quelqu'un qui s'attend à apprendre "juste" une nouvelle bibliothèque.
Est-il nécessaire d'apprendre les extensions de langage GHC pour être productif dans Haskell? Si vous deviez embaucher un développeur Haskell pour une application de production, demanderiez-vous une telle connaissance?
Réponses:
Oui. Et cela est vrai pour n'importe quelle langue / outil. Avec les connaissances de base / de base, vous pouvez résoudre les problèmes de concours en ligne, peut être un petit projet universitaire, mais certainement pas une application réelle.
Cela dépend maintenant de la présence d'une personne qui peut partager ces connaissances. Si oui, alors cette personne peut accélérer le nouvel employé. Sinon, vous devez d'abord obtenir une telle personne avec des connaissances. Et c'est encore vrai pour les nouvelles technologies.
Bien sûr, vous pouvez également essayer d'embaucher des personnes ayant une connaissance approfondie de Haskell. Mais Haskell étant relativement nouveau dans l'industrie et considérant que très peu de projets commerciaux ont été réalisés dans ce domaine, trouver une telle personne sera difficile. Le moyen efficace de constituer une équipe de professionnels à Haskell sera d'embaucher des personnes qui connaissaient les bases et désireuses de travailler à Haskell, puis de les former.
la source