Encore peu populaire, la programmation fonctionnelle présente pourtant de nombreux attraits. Bénéficiant de la puissance de la plateforme .NET, le langage F# est une excellente opportunité de se familiariser avec elle.
Au commencement (de l’informatique) étaient les langages Fortran et LISP. Le premier doté d’une syntaxe dictée par la constitution des cartes perforées, et par définition proche des machines, le second doté d’un haut niveau d’abstraction et par définition proche des mathématiques. Et dès le début de l’informatique, ce fut une scission entre les langages impératifs à la Fortran, et les langages fonctionnels à la LISP. Puis est apparue la programmation objet, fondamentalement impérative, mais avec un niveau d’abstraction supérieur à celle d’un Fortran, ou d’un langage C pour prendre un autre exemple. Nous voici donc avec trois paradigmes de programmation qui ont chacun leurs partisans, ceux de la programmation fonctionnelle étant hélas, les moins nombreux. Hélas, car c’est, de l’humble avis de votre serviteur, un problème essentiellement culturel, les langages fonctionnels étant en général enseignés après les autres. Hélas, car le paradigme fonctionnel a des qualités indéniables, au niveau de la concision, de l’expressivité et surtout de la sûreté du code. Seuls les langages fonctionnels permettent de prouver le code, c’est-à-dire de démontrer qu’il s’exécutera comme prévu. Le fossé entre les paradigmes est-il impossible à combler ? Sans doute pas. Une remarquable tentative a vu le jour dès 1996 avec le langage Objective Caml. Ce langage conçu en France par l’INRIA concilie les trois paradigmes. Malheureusement il n’a pas su devenir populaire. Peut-être à cause d’une syntaxe parfois un peu difficile, mais surtout par manque de promotion, en comparaison d’un C# ou d’un Java. Cependant, lorsque les projets sont ardus, comme pour l’écriture d’un compilateur, ou pour vérifier le code des systèmes embarqués de l’Airbus, c’est Objective Caml qui est utilisé...
Frédéric Mazué