Le langage FL

Ludovic PRIGENT
ELP-2018
Published in
2 min readMay 18, 2018

Le langage FL

FL programming language :

FL (Function Level) est un langage de programmation, successeur du FP (pour Function Programming) qui fut créé par John Backus, un des pères de la programmation fonctionnelle. Inventé à San José en 1989 avec la collaboration de deux autres chercheurs du célèbre centre de recherche IBM Almaden, FL est un langage de programmation fonctionnelle à typage dynamique et à évaluation stricte présentant plusieurs outils de gestion d’entrées/sorties et d’exceptions.

Avec l’objectif de rendre plus accessible l’apprentissage l’utilisation de la programmation, les créateurs de FL voulurent inventer un langage dépourvu de toute lourdeur syntaxique et de complexité technique. De cette façon, le codeur peut donc se concentrer sur la programmation d’outils et/ou méthodes permettant de résoudre les problèmes qui lui sont livrés, sans le souci d’avoir à gérer des détails de bas niveau qui peuvent se révéler très complexes ou des éléments singuliers du langage en question. Cette particularité, certes attirante pour des développeurs novices peut rebuter certains des plus expérimentés, qui se trouveront trop limités par le peu de contrôle qu’ils peuvent exercer sur leur programme, une restriction en termes de performances en découle logiquement.

Néanmoins, le point fort du langage reste son approche fonctionnelle de la programmation, d’où son nom. Rappelons qu’un langage fonctionnel est un langage qui considère le calcul en tant qu’évaluation de fonctions mathématiques. FL, au prix d’une perte de contrôle sur le programme et la mémoire associée va permettre la compréhension d’une plus grande partie des outils et algorithmes complexes liés à ces types de codes. Avec ce code modulaire, les fonctions, nouveaux éléments de bases du langage ont la capacité d’être composées et/ou agrégées pour construire de nouvelles méta-fonctions ayant la capacité de réaliser des opérations complexes et de natures diverses.

Voilà la définition d’une fonction classique en programmation fonctionnelle standard et en FL :

FL a le mérite, malgré son utilisation assez anecdotique, d’avoir été un des ancêtres de Plasma, un langage de programmation géométrique qui permet entre autres de créer des formes et des modèles géométriques, qui sont générées simplement par des fonctions (voir figure ci-dessous). Il devient alors possible de créer et recréer des structures complexes de manière intuitive.

FL fut utilisé dans quelques programmes de taille/complexité variable, mais on ne trouve pas de traces d’information sur ceux-ci. Cela ne risque pas d’être changé à cause de la portée faible du langage, surtout utilisé dans la recherche.

FL démontre, notamment à travers Plasma, un des majeurs avantages à l’utilisation de la programmation fonctionnelle, faciliter le développement de concepts abstraits mathématiques et ainsi rendre le travail du programmeur intuitif.

Sources :

--

--