Programmation Fonctionnelle et Symbolique - Conclusion
Rappelons les principaux traits du langage Lisp:
- adoption d'une même structure de données simple ( les S-expr) pour
représenter les données et les programmes: ceci ouvre en particulier la
possibilité d'écrire aisément des programmes qui manipulent d'autre
programmes;
-
c'est un «langage d'expressions»: tout morceau de programme est une
expression, qui renvoie une valeur;
- c'est un langage de type fonctionnel: l'écriture d'un programme
(c'est-à-dire d'une fonction) se fait par composition d'autres
fonctions. D'autre part l'implantation de Lisp sous forme d'un interprèteur
- mais il existe aussi des compilateurs Lisp - en fait un outil assez agréable
pour la «programmation au terminal» : on peut par exemple tester des morceaux de
programmes indépendemment les uns des autres; même (et surtout) avant que le
programme ne soit entièrement écrit !
Pour ces raisons, Lisp a été adopté (presque unanimement, jusqu'à l'arrivée
de Prolog) par la communauté des chercheurs en Intelligence Artificielle; en
effet l'activité de recherche en IA nécessite l'écriture de programmes
«jetables» (écrits rapidement pour «voir ce que çà donne»; et mis à la
poubelle presque aussitôt).
Dans «l'industrie», Lisp est souvent utilisé comme outil de «prototypage»;
c'est-à-dire pour réaliser des maquettes d'applications qui n'ont pas été
complètement spécifiées: voir «tourner» une maquette permet déjà au client
de préciser ses besoins.
BIBLIOGRAPHIE
(a complèter)
- Abelson & Sussman
- Manuel Le_Lisp
- Queinnec
- Wertz
M. BILLAUD Département Informatique IUT-A Bordeaux (1989)