LISP
"Compilé signifie Interprété par le microprossesseur."
C'est en 1958 que débarqua l'extraterrestre LISP (pour LISt Processing language). Créé par John McCarthy, LISP est un langage applicatif de manipulation symbolique d'expressions, utilisant la récursivité comme structure de contrôle et la liste comme structure de données. Rien qu'à ces mots l'on devine déjà les principales qualités (ou défauts) des langages LISP : Une homogénéité des données et des fonctions, elles aussi représentées sous forme de listes, et une réduction non négligeable du volume des programmes, si l'on use avec sagesse de la récursivité.
LISP est le descendant direct du calcul Lambda, dont il reprend la syntaxe et les principales méthodes. Cependant il y ajoute l'affectation, outil répandu et utile à la programmation conventionnelle. En effet sans l'affectation les résultats des fonctions sont volatiles et doivent être recalculés à chaque fois que l'on désire les consulter. On permet donc l'affectation, qui apporte avec elle les effets de bords.
Le style conversationnel de la programmation avec les interprètes LISP est souvent avancé comme une grande qualité, il est vrai qu'il est plaisant de dialoguer avec la machine, plus en tout cas que de lancer une commande de compilation délivrant un large flot de codes d'erreurs et autres « warnings » (essayez donc de programmer en ADA...). Combiné au fait que l'on peut souvent compiler un programme.
Une autre qualité propre aux Langages LISP est la simplicité et la robustesse de la structure de donnée. La liste permet en effet (et pour un moindre coût) l'implémentation de tableaux ( à plusieurs dimensions), d'ensembles, d'arbres (binaires ou pas), de piles et encore bien d'autres...
Il existe, enfin, de (trop) nombreux dialectes et systèmes LISP. L'absence de standard LISP et l'incompatibilité entre les différents dialectes, est d'ailleurs le principal reproche que l'on peut faire aux LISPs. Cette étonnante variété de dialectes LISP est en partie dû au fait que l'on peut facilement implémenter en LISP de nouveaux langages LISP, ainsi on rencontre souvent des définition de LISP en LISP dans la littérature, comme notamment dans « Les Langages LISP » ouvrage entièrement destiné à l'implémentation d'interprètes et compilateurs LISP.
12/07/96