Les langages fonctionnels sont à la mode

Les langages fonctionnels sont enseignés dans les milieux universitaires et sont présentés comme une solution élégante pour rendre les programmes robustes et démontrables en leur appliquant des théorèmes empruntés aux fonctions mathématiques. Ces langages sont d’une grande simplicité pour une débutant en informatique dont l’esprit n’a pas encore été pollué par le concept de variable à valeur changeante au cours de l’éxécution du programme.

Ces avantages ne sont hélas que peu d’écho dans l’industrie informatique qui comme pour l’avènement du paradigme objet demande à ce que toutes les méthodes ancestrales montrent leur limite avant d’adopter la nouveauté. Ainsi l’explosion des langage objets n’a réellement eu lieu que vers le début des années 90 alors que des les années 70 les concepts en étaient déjà jetés dans les laboratoires informatiques étudiant le génie logiciel.

Néanmoins les découvertes des chercheurs sont faites non pas dans le but d’une application pratique mais pour faire avancer le savoir, n’en déplaise aux tenants du pragmatisme et de l’asservissement de la recherche à l’industrie. Donc ces avancés dans les langages sont à voir comme autant d’outils qui si ils ne sont pas utilisés tout de suite, restent à disposition pour entrer dans la lumière le moment venu. Un exemple facile est l’avancée au début du siècle dernier de la théorie de la relativité, qui quelques années plus tard eut une concrétisation poussée par les besoins du contexte historique. Son auteur n’ayant pas prévu que la bombe atomique en résulterait….

De nos jours il semble que l’industrie informatique soit très à l’écoute des langages fonctionnels. En effet si on peut citer Lisp ou Caml comme des exemples de langages fonctionnelles, ces derniers ne jouissent pas d’une réputation d’un Scala dont je découvris l’existence lors d’un entretient avec un « jeune » à l’esprit fraichement formé qui n’avait pas encore était bridé par la pensée limitative d’une vision technique simpliste qu’un évangélistateur de JEE ou Dot.net/C# aurait. Une petite recherche sur Scala me montra qu’une littérature et une communité tournée vers les langages fonctionnels était en train de monter en puissance pendant que je dormais à l’ombre de J2EE…. persuadé qu’il était vainc de précher la bonne parole et plus facile de surfer sur la vague du moment.

Cependant, les bonnes choses doivent arriver à points et si la connaissance moyenne des ingénieurs en informatique couvrent désormais les langages exotiques comme Caml ou Prolog, il faut encore que le context i soit favorable. Ainsi nous pouvons toujours compter sur le besoin grandissat d’avoir des applications de plus en plis complexes. La robustesse des lanage fonctionnels est alors un argument qui s’entend. Mais sans faire table rase du passé car on ne va pas réecrire tout le code existant. C’est dans cet optique que des initiatives d’apporter à Java les éléments des langages foncionnels voient le jour. La dernière en date et prometteuse est LambdaJ qui porte un nom fait mouche en voulant apporter une peu de lamda calcul au Java!

Cet article, publié dans Langage, est tagué . Ajoutez ce permalien à vos favoris.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s