Lisp at Introduction

Home
Up
Previous
Next

 

Introduction

Ce dossier a pour objet de dégager les particularités du langage de programmation Lisp et l'intérêt qu'il présente pour des applications diverses ne relevant pas nécessairement de l'"intelligence artificielle" (IA). Le Lisp est souvent associé univoquement, à tort, à l'IA; de fait, dans ce dossier, les références à cette branche de l'informatique sont anecdotiques.

On reconnaît à chaque langage une certaine spécificité. Le Fortran facilite le traitement numérique, ADA permet de développer d'importantes applications temps réel, le C est un langage machine de haut niveau convenant aux applications proches du système opératoire. Le langage Lisp, quant à lui, porte l'abstraction à un très haut niveau, l'abstraction étant comprise comme la faculté de représenter simplement des problèmes complexes.

Le chapitre 1 est le chapitre principal. On y aborde la notion d'abstraction dans le cadre d'un langage de programmation, et en quoi le modèle des données et de l'exécution du Lisp est spécifique. Y sont également abordés les prototypes évolutifs, la réutilisation, le domaine d'application du Lisp, et les particularités d'un environnement de développement Lisp.

Le chapitre 2 passe en revue quelques-uns des préjugés les plus répandus à l'encontre du Lisp, comme celui de sa lenteur. Ce dernier étant lié à l'histoire du Lisp, le chapitre commence par un bref historique du Lisp.

Chacun des chapitres 3 à 5 présente un exemple illustrant un point ou l'autre du chapitre 1.

Le chapitre 6 propose un relevé non exhaustif des produits Lisp disponibles sur le marché, par classe de matériel.

Au chapitre 7, synthèse et conclusion de ce dossier.

On trouvera en annexe 1 une description du processus d'évaluation d'une expression Lisp et, en annexe 2, une brève description des applications Lisp développées par TRACTEBEL. L'annexe 3 porte sur la taille du Common Lisp et la portabilité des applications Common Lisp.

Ce dossier est consacré au Lisp en général et au Common Lisp de façon plus spécifique (le Common Lisp est une des variantes du Lisp ayant fait l'objet d'une définition standard - voir l'annexe 3). Certains aspects du Common Lisp ne sont pas ou peu abordés dans ce dossier et feront l'objet d'un document ultérieur. Il s'agit principalement du système objet du Common Lisp (Common Lisp Object System ou CLOS) qui ajoute une autre dimension au pouvoir d'expression du Lisp, et des efforts de standardisation en matière d'outils de conception d'interface, comme CLIM (Common Lisp Interface Manager) et Common Graphics. Ces outils permettent de construire des interfaces hommes-machines indépendants du système de fenêtrage de la machine hôte; de ce fait, ces interfaces graphiques sont portables d'un type de machine à l'autre.

 

Conventions d'écriture

Tous les mots appartenant à la définition du langage Lisp sont en italique, comme LIST dans :

(LIST  1 2 3)

=> (1 2 3)

D'autre part, cet exemple représente l'interaction que peut avoir un utilisateur avec un interpréteur Lisp, devant une console d'ordinateur; si, à l'aide du clavier, l'utilisateur introduit l'expression (LIST 1 2 3) , l'interpréteur Lisp répond en affichant à l'écran le résultat de l'évaluation de cette expression Lisp, soit la liste (1 2 3).

Ce dossier est aussi un ouvrage collectif. Je suis redevable à mes collègues qui ont bien voulu lire et commenter les versions préliminaires de ce dossier, en particulier: C. VanDyck, N. Argani, M. Monteyne, P. Hendrickx, R. Paes, D.Paten et last but not least F. de Viron.

Home    Previous    Up    Next
contact
site map
Last update : 27/11/2001