Lisp | ||
Date de première version | 1958 | |
---|---|---|
Paradigmes | fonctionnel, impératif | |
Auteur | John McCarthy | |
Typage | dynamique | |
Dialectes | Common Lisp, Emacs Lisp, Scheme, Clojure | |
Influencé par | Information Processing Language | |
Système d'exploitation | Multiplate-forme | |
modifier |
Lisp est la plus ancienne famille de langages de programmation à la fois impératifs et fonctionnels[1]. Développé initialement en tant que modèle pratique pour représenter des programmes (par contraste avec la notion théorique de machine de Turing), il est devenu, dans les années 1970 et 80, un des langages de choix (comme le langage Prolog) pour la recherche en intelligence artificielle. Les langages Lisp sont aujourd'hui utilisés dans de nombreux domaines, de la programmation Web à la finance[2], et dans certains cursus de formation en informatique[3].
Le terme Lisp a été forgé à partir de l'anglais « list processing » (« traitement de listes »). Tous les dialectes de Lisp partagent les mêmes opérateurs de manipulation de listes chaînées simples. Lisp se distingue en outre par une syntaxe simple en notation préfixée, son typage dynamique des données, le support pour la programmation fonctionnelle, sa gestion automatique de la mémoire et la faculté de manipuler le code source en tant que structure de données.
Les langages Lisp sont reconnaissables immédiatement à leur apparence. Le code source des programmes est écrit en utilisant la même syntaxe que celle des listes — la syntaxe parenthésée des S-expressions. Chaque sous-expression d'un programme (ou structure de données) est délimitée par des parenthèses. Cela simplifie grandement l'analyse syntaxique des programmes Lisp et rend simple la métaprogrammation — la création de programmes qui créent d'autres programmes ou modifient le programme courant.
Si l'on excepte le langage machine et le langage d'assemblage (ou plus communément « assembleur »), Lisp est le deuxième langage le plus ancien (juste après Fortran) parmi les langages qui se sont largement diffusés. Lisp a beaucoup évolué depuis le début des années 1960 et a ainsi donné naissance à de nombreux dialectes.