Je vais aller à l'encontre de l'opinion populaire et dire que Haskell n'est PAS un bon premier langage de programmation pour le premier programmeur de l'histoire. Je ne pense pas que c'est accessible pour un débutant comme langages comme Ruby.
La raison pour cela est que les gens ne sont pas de penser le monde de manière fonctionnelle. Quand ils voient une voiture en bas de la rue, ils voient la même voiture, avec l'évolution des mutable état. Ils ne voient pas une série de légèrement différent immuable voitures.
Si vous découvrez d'autres AINSI en question, vous verrez que Haskell est quasiment jamais mentionné comme un bon choix pour un débutant.
Toutefois, si vous êtes un mathématicien, ou déjà savoir assez sur la programmation de comprendre la valeur de la fonctionnelle de la programmation, je pense que Haskell est un excellent choix.
Donc, pour résumer, je pense que Haskell est un ajustement parfait pour vous, mais pas un bon ajustement pour le débutant.
EDIT: Merci pour les commentaires judicieux. Owen point que les gens pensent dans un multi-paradigme manière est très vrai. Cela renforce ma conviction qu'un multi-paradigme des langages comme Ruby serait plus facile à ramasser, et a l'avantage d'exposer l'étudiant à la fois impératif et fonctionnel de la pensée. Haskell est décidément pas le multi-paradigme.
Chuck mentionné Haskell sophistiqué système de type qui est un autre bon point. Alors que personnellement, je préfère les langages statiquement typés, à l'aide d'un langage dynamique permet à un débutant d'ignorer que la pièce du puzzle jusqu'à ce qu'ils sont curieux de savoir ce qui se passe derrière les coulisses. Haskell type de système, tandis que l'élégant, il est dans votre visage à partir de jour 1.