—Lisp,Scheme : Langages historiquement majeurs, `a la syntaxe simple, `a fort pouvoir d’expression,
d´edi´es plus sp´ecifiquement `a la programmation applicative.
—Lisp, 1960, John Mc Carthy : “lists processing”pour du calcul num´erique classique mais aussi symbolique,
calcul dont les donn´ees ne sont pas uniquement des nombres mais aussi des symboles et des collections
de symboles.
—Scheme, 1970, Gerald J. Sussman et Guy L. Steele : H´eritier de LISP `a liaison strictement lexicale :
enseignement de la programmation.
“Structure and Interpretation of Computer Programs - Abselson, Fano, Sussman - MIT Press - 1984”.
— Excellents pr´ealables `a l’´etude d’autres formalismes, dont le formalisme objet, plus complexes.
Caract´eristiques de Lisp et des langages applicatifs :
— Toute phrase syntaxiquement correcte du langage (y-compris une instruction) est une expression alg´ebrique
ayant une valeur 1.
— La m´emoire est g´er´ee automatiquement (allocation et r´ecup´eration)
— si on le souhaite, programmation sans Effets de bords, lien avec la programmation dite “fonctionnelle
pure” - Voir langage Haskell).
— De nombreuses abstractions simplifient la vie du programmeur. Exemple : les grands nombres, les
it´erateurs, etc.
1(fact 30)
2= 265252859812191058636308480000000
3(map fact ’(2 3 4 30))
4= (2 6 24 265252859812191058636308480000000)
1. Ceci n’est pas vrai dans les langages dits ”imp´eratifs”.
2