8. Maudits bugs ! darn bugs

Personne n'aime parler des bugs informatiques. Je vais donc essayer de ne pas trop m'étendre dans cette leçon. Tout ce que je vous demande est de la lire. Je ne vous demanderai pas d'écrire des programmes avec des bugs !

Qu'est-ce qu'un bug ?

[NdT: bug en anglais = insecte, bestiole]

L'origine du mot bug dans le jargon informatique est souvent attribuée à un incident réel où une mite a été trouvée à l'intérieur de l'ordinateur Mark II de l'Université de Harvard ;  apparemment, cette mite avait empêché l'ordinateur de fonctionner. Elle a été trouvée par l'équipe de la célèbre informaticienne mathématicienne et jeune officier naval Grace Murray Hopper, qui venait d'inventer le concept des langages de compilation en programmation. Dr. Grace Hopper a finalement atteint le grade de Contre-Amiral dans la marine américaine.

La mite a été préservée, scotchée dans le journal de bord de Hopper, comme vous pouvez le voir ci-dessous. Un commentaire intéressant y est noté : "Premier véritable cas de bug découvert" ("First actual case of bug being found").

first bug

Image adaptée de l'archive publique du Centre historique de la Marine américaine

En réalité, le mot bug dans un contexte technologique est attribué par le dictionnaire Oxford English Dictionary à Thomas Edison. Selon ce dictionnaire, le texte suivant peut être observé dans l'édition du 11 mars 1889 de la Pall Mall Gazette :

J'ai été informé qu'il a fallu que Mr. Edison reste éveillé les deux nuits précédentes pour pouvoir découvrir 'un bug' dans son phonographe - une expression signifiant résoudre une difficulté, et insinuant qu'un insecte imaginaire se serait dissimulé à l'intérieur et serait la cause de tous les problèmes.

Il apparaît donc que le 'bug' originel, bien qu'il soit bien un insecte, était en fait imaginaire.

Malheureusement, les bugs informatiques, bien qu'ils ne soient pas des insectes, ne sont pas non plus imaginaires.

Résolution des bugs

Dans le jargon informatique, un bug est une erreur qui fait qu'un programme se comporte d'une manière inattendue. Si vous écrivez des programmes, vous y aurez des bugs tôt ou tard - comme tout le monde. Les bons programmeurs cherchent à "suprimer" les bugs ou les "corriger" dès qu'ils trouvent que leur programme se comporte de manière inattendue.

RUR-PLE a été conçu pour vous aider à trouver les bugs.

  1. La "fuite d'huile" du robot, laisse une trace derrière lui qui vous permet de voir (tracer) les instructions suivies par le robot.

    simple left turn

  2. Chaque instruction [comme pick_beeper() ci-dessous], est surlignée dans la fenêtre de programme quand elle est sur le point d'être exécutée par le robot.

    highlighted instruction

    Le surlignement des instructions peut parfois causer des problèmes. Vous pouvez le désactiver ou le réactiver en cliquant le bouton de surlignement highlight button

  3. Vous pouvez mettre en "pause" un programme pendant qu'il s'exécute en cliquant le bouton pause pause button. C'est semblable à ce que l'on appelle ajouter un point d'arrêt dans un programme.

  4. Vous pouvez "exécuter pas à pas" un programme, une instruction à la fois, en cliquant le bouton exécute une instruction à la fois step button.

  5. Vous pouvez modifier la vitesse à laquelle les instructions sont exécutées en utilisant le contrôleur de vitesse speed button. Plus vous déplacer le curseur du contrôleur vers la droite, plus le programme sera exécuté rapidement. Vous ne pouvez ajuster la vitesse qu'au début du programme, elle sera reglée pour tout le programme. Pour les programmes dont l'exécution est longue, vous pouvez commencer par exécuter le programme rapidement, le mettre en pause quand vous atteignez un point proche du moment où se produit le comportement inattendu (le "bug"), et ensuite exécuter pas à pas la suite en faisant attention, instruction par instruction.

  6. S'il vous arrive que vous ayez démarré un programme et que vous vouliez l'arrêter avant qu'il arrive à sa fin, vous pouvez toujours cliquer le bouton Arrêt stop button.

  7. Au bas de l'écran, une barre d'état affiche : 1) quel programme est chargé ; 2) l'état de ce programme; 3) le nombre de sonnettes transportées par le robot ; 4) quel fichier de monde a été chargé.
    barre d'état

  8. Si vous voulez redémarrer votre programme avec le robot au point de départ d'origine, là où il se trouvait au début, quand vous avez chargé le fichier de monde, vous devrez cliquer le bouton remise à zéro du fichier monde reset button.

Ceci devrait vous suffire largement. Quand vous en saurez plus sur la programmation, vous apprendrez d'autres astuces qui vous aideront à trouver les bugs et à vous en débarrasser !

previous Sonnettes - home- Construction des murs next