Haskell : élégance, pureté, beauté

Si la programmation fonctionnelle est peu populaire en France, le langage Haskell y est lui, totalement inconnu, ou quasiment. Pourtant que de qualités dans ce langage très en avance sur son temps ! Découvrons-le.
Tous les langages de programmation ont pour vocation de procurer un niveau d'abstraction "facilitant" la programmation et affranchissant le programmeur des détails les plus techniques comme la taille des cases mémoire ou les instructions CPU. Certains n'y parviennent pas très bien. Ainsi la syntaxe d'un Fortran, langage qui reste très populaire, est en liaison directe avec la structure physique des cartes perforées de la préhistoire. D'autres y parviennent sans y parvenir, comme C++ avec son haut niveau d'abstraction et ses constants problèmes dans le bas niveau. D'autres encore y parviennent assez bien, comme Java avec son ramasse-miettes et sa machine virtuelle. Mais toujours quelque part, ces langages font partie du problème de la programmation. Les langages fonctionnels ont, parmi d'autres bonnes intentions, celle d'abstraire complètement de la machine. Avec eux, un programme est un ensemble de fonctions au sens mathématique du terme et c'est le système qui s'occupe de l'évaluation d'un ensemble d'expressions, pas le programmeur. Pour ce faire, ces langages s'appuient sur un runtime très évolué. C'est ainsi que Lisp, le premier des langages fonctionnels, et créé il y plus de cinquante ans, a inventé le ramasse-miettes que Java a repris à son compte bien plus tard, à grand renfort de communication...

Frédéric Mazué

S'ABONNER