--NoDr - YGO--

4/20/2006

retour aux sources des langages informatiques

Classé dans: — @ 9:45 pm

Depuis quelques mois on assiste à un retour en force d’un des plus anciens langages de l’informatique.

LISP, que j’ai découvert à la fin des années 80, à une époque ou je faisais du support et du développement pour Autocad et AutoLisp ainsi que du Le Lisp 1.5, reste à mon avis un des meilleurs langages qui soit. Hélas ce dernier boudé par l’industrie ne m’a jamais permis de trouver des entreprises l’utilisant pour de grands projets. LISP avait la mauvaise image d’être interprété, lent et plutôt destiné aux problèmes d’intelligence artificielle. De plus de nombreux développeurs ont des difficultés pour manipuler des langages fonctionnels. Malgré des évolutions importantes offrant des compilateurs presque aussi performants que du C++ et des librairies capables de répondre à n’importe quel type de besoins, LISP est resté marginal.

Après un grande traversée du désert, on voit désormais ré-apparaître des tas de projets essentiellements orientés COMMON LISP. Le problème majeur est que les environnements les plus aboutis ne sont ni libres ni gratuits (voire même onéreux). Toutefois une version libre semble émerger du tas. Il s’agit de SBCL, un environnement très portable, embarquant un compilateur natif dynamique particulièrement efficace, porté sur divers processeurs / OS et donnant accès à une très riche collections de librairies qui lui sont compatibles. C’est avec cet environement que je souhaite faire mon retour dans l’univers du LISP.

Pour en savoir plus sur ce sujet je vous invite à regarder cette page pleine de références, et surtout de lire cette étude comparative faite par la NASA, concernant le choix d’un langage parmi Lisp, Java, C++, Python et Ruby pour un de leurs besoins. LISP est considéré comme un langage de langage et les possibilités qu’il offre sont énormes et peu d’autres langages permettent une telle puissance d’expression. De plus il a été démontré qu’il permettait un niveau de productivité et de maintenabilité particulièrement supérieur des JAVA ou C++.

Pour ma part je conseille également ces excellents sites

En conclusion je dirais que les versions libres de common Lisp deviennent vraiment intéressantes, même si elles souffrent encore un peu d’un manque de finitions.

Dans un monde idéal, il faudrait pouvoir leur ajouter des évolutions, que je considère comme majeures et mises en oeuvre dans le langage Erlang : La programmation orientée processus distribuée et les programmes haute diponibilité. Bien que des tentatives aient été réalisées dans ces domaines pour common Lisp, elles restent loin de ce que sait faire un Erlang.

Des livres :
Un traite de programmation en Common Lisp et en français
Le célèbre Practical Common Lisp (en anglais)
Les spécifications de Common Lisp - HyperSpec (en anglais)
et l’excellent OnLisp (en anglais)

Réalisé avec WordPress  visitors