RECHERCHE :
Bienvenue sur le site de Michel VOLLE
Powered by picosearch  


Vous êtes libre de copier, distribuer et/ou modifier les documents de ce site, à la seule condition de citer la source.
 GNU Free Documentation License.

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.