Le langage Scheme et un des plus élégants qu'un informaticien puisse rencontrer. Il est une implémentation directe du lambda-calcul de Alonzo Church. Il n'a pas subit l'érosion sémantique qui a dégradé le langage Lisp au cours du temps — il est vrai, qu'en tant que précurseur, Lisp a eu à résoudre prématurément des problèmes théoriques difficiles. Sa très grande facilité d'extension fait qu'il sert également de laboratoire pour expérimenter de nouvelles idées.
Ma première rencontre avec Scheme a été la lecture du remarquable livre de H.Abelson et G.J.Sussman : Structure and Interpretation of Computer Programs. Et depuis je suis devenu (presque) inconditionnel de Scheme. Lire ce livre est une expérience enthousiasmante dont il ne faut pas se priver.
Après cela, je me suis employé à convaincre (pas trop difficilement, je l'avoue) mes collègues informaticiens qu'il était fondamental, pour un débutant en informatique, d'apprendre le langage Scheme et surtout les idées qu'il permet d'exprimer. Le CNAM (Michel Pichon) et le Département Informatique de l'IUT de Nice (Robert Chignoli) se sont laissés convaincre.
1. Lectures
Le langage Scheme est la mécanisation d'une approche fonctionnelle de la programmation. Cette approche fonctionnelle est la mise en pratique du Lambda-Calcul. La Programmation Fonctionnelle et le langage Scheme ont été la base d'un cours d'informatique présenté au CNAM de Nice. Ce cours était une introduction à l'informatique, c'est à dire destiné à des débutants. En voici le support :