Commentaire sur :
"The Little Schemer"
de Daniel Friedman et Matthias Felleisen MIT Press 1996
La programmation n'est pas seulement
l'affaire des SSII. C'est aussi une activité intellectuelle à laquelle chacun
peut se livrer. C'est un peu comme pour la menuiserie ou la mécanique : il vaut
mieux acheter une automobile toute faite à un constructeur, mais il n'est pas
mauvais d'avoir chez soi un atelier où l'on travaille de ses mains, où l'on
"bricole", comme on dit de façon parfois un peu condescendante.
Nous utilisons tous nos PC comme des
boîtes noires, les progiciels font le travail pour nous, comme FrontPage que je suis en train d'utiliser. N'avez-vous pas parfois
envie de
soulever le capot ? de prendre en mains la scie, la gouge, la fraise et le rabot pour
faire vous-même ce dont vous avez besoin ?
Il faut pour cela maîtriser un
langage. C'est pénible : la plupart des langages de programmation sont hérissés de
difficultés syntaxiques. L'ordinateur est tellement bête ! nos langages ressemblent aux premières automobiles, dont la conduite réclamait de minutieux
réglages (avance à l'allumage, dosage du mélange) qu'il
fallait réviser en marche, ou des manœuvres comme le
double débrayage et le double pédalage, sans parler de la tenue
de route médiocre, des pannes fréquentes, des pneus qui éclataient ... nous
en sommes encore là en programmation, quoique l'on dise. Il faut être
"mécanicien" ("chauffeur") pour savoir s'y prendre. Les techniciens
se délectent de ces complications que l'apprentissage aplanit mais qui sont autant de barrières pour le débutant. Elles protègent
leur corporation de la concurrence. Ils aiment les langages difficiles comme
C++.
Apprenez donc LISP ! (ou plutôt Scheme,
dialecte le plus courant aujourd'hui). D'un coup vous accèderez aux
questions les plus intéressantes de la programmation. Et pour
apprendre Scheme, il est utile de lire The Little Schemer, puis The Seasoned Schemer,
qui complètent très utilement le classique d'Abelson et
Sussman. The Little Schemer est un drôle de livre. Il procède par questions et réponses :
question dans la colonne de gauche, réponse dans la colonne de droite.
Au lieu de donner des définitions, il fait découvrir par des exemples les concepts qu'il s'agit d'assimiler. Puis il fait suivre pas à
pas la démarche pour comprendre ce que fait un programme. Il est
amusant de voir ainsi étalé, disséqué, le raisonnement que l'on fait
lentement, honteusement soi-même, en se disant "les autres sont
certainement plus malins que moi, ils n'ont pas besoin de faire des
vérifications aussi minutieuses, ils comprennent tout de suite". Mais non
! celui qui veut comprendre vraiment doit procéder de la sorte.
Je dois encore une fois dire mon
admiration pour cette pédagogie américaine, où beaucoup de science se
présente avec beaucoup de simplicité. Où sont les universitaires
français qui sauraient écrire un tel livre ? je ne les ai pas encore
rencontré. Il est vrai que je ne les connais pas tous.
|