Commentaire sur :
Richard E. Pattis "Karel the Robot" Wiley
1995
C'est une introduction à l'art du programmeur. Elle permet
de comprendre comment peuvent coopérer la puissance de la machine et le cerveau du
programmeur (ou de l'utilisateur).
On part d'un jeu : il s'agit de commander un petit robot,
appelé affectueusement Karel, qui se déplace dans un monde simple. Le plan de ce monde
est un quadrillage, semblable aux rues d'une ville américaine ; Karel peut se déplacer
dans ce monde en avançant d'un carré et en tournant d'un quart de tour sur lui même (ce
qui lui permet de prendre des virages ou de faire des demi tours). Le chemin lui est
parfois barré par un mur, qu'il ne perçoit que lorsque il est juste devant. Il porte
enfin un sac portant des balises qu'il peut déposer à certains carrefours.
Karel obéit, avec une précision et une bonne volonté
infinies, aux ordres qu'on lui donne. Quand on lui donne un ordre impossible (avancer dans
un mur, poser une balise alors que son sac est vide), il envoie un message et s'arrête.
Bref : Karel est infiniment travailleur et patient, jamais rebuté par une tâche
répétitive, mais il ne fait que ce qu'on lui ordonne, et ne sait prendre aucune
décision.
Le programmeur de Karel dispose, lui, d'un langage de
commande. L'auteur nous invite donc à programmer Karel. Il s'agit d'abord d'accomplir des
tâches simples (parcourir une diagonale entre deux points, faire le tour d'un mur
rectangulaire, etc.). Puis on fait un programme un peu plus difficile : faire sortir Karel
d'une "pièce" rectangulaire entourée de murs percés d'une porte, quelle que
soit la forme de la pièce, l'emplacement de la porte et l'emplacement initial de Karel,
etc. Pour traiter tous les cas particuliers en un seul programme, il faut décomposer des
tâches complexes en tâches élémentaires : nous voici dans la programmation
structurée, avec les "subroutines" emboîtées, analogue à du Pascal.
En lisant ce livre on s'habitue à la coopération entre un
programmeur humain, avec sa créativité, et un robot stupide mais d'une patience
inlassable. L'intuition découvre le langage qu'il convient de parler à l'ordinateur si
l'on veut qu'il obéisse : elle apprend à la fois à concevoir un tel langage, et à
l'utiliser.
On entrevoit enfin les possibilités ouvertes à
l'"être humain assisté par ordinateur", concept plus intéressant et plus
puissant que ceux d'intelligence artificielle, ou d'automatisation, qui ont tant coûté
et tant déçu.
|