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 :

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.