Tech●●●●●Difficulty 1 of 5

Pourquoi dit-on « déboguer » un programme ?

Oppenheimer employait déjà le mot « debugging » dans une lettre de 1944, des années avant que les programmeurs se l'approprient.

▶ Lancer l'histoire

Parce que les ingénieurs « déboguaient » déjà des machines avant l'existence des ordinateurs. Déboguer (debugging, en anglais), c'est trouver la cause profonde d'un bug, ainsi que des contournements et des corrections possibles, et le mot circulait dans l'aéronautique avant d'entrer en informatique. Dans une lettre du 27 octobre 1944 sur le recrutement de personnel technique, J. Robert Oppenheimer, directeur du projet Manhattan, l'employait déjà.

En 1945, le Journal of the Royal Aeronautical Society parlait de « debugging » pour les essais de moteurs d'avion, et un article du magazine Airforce, en juin, évoquait le débogage de caméras d'avion. Le mot « bug » est encore plus ancien : en 1878, Thomas Edison appelait « Bugs » les petits défauts et difficultés de ses inventions. Voilà pourquoi le fameux papillon de nuit trouvé dans un relais du Mark II de Harvard, collé dans un cahier de bord comme « premier cas réel de bug trouvé », était une blague et non une origine.

L'informatique s'est emparée du mot au début des années 1950. Dans la bibliothèque numérique de l'ACM, « debugging » apparaît pour la première fois dans trois articles des rencontres nationales de l'ACM de 1952, dont deux le mettent encore entre guillemets. En 1963, il était assez courant pour être cité en passant, sans explication, dès la page 1 du manuel du système CTSS.

Comment « debugging » est arrivé en informatique
  1. 1878

    Edison appelle « Bugs » les défauts de ses inventions

  2. 1944

    Oppenheimer emploie « debugging » dans une lettre

  3. 1945

    On « débogue » moteurs et caméras d'avion

  4. 1952

    Premiers articles de l'ACM, mot entre guillemets

  5. 1963

    Le manuel CTSS l'emploie sans l'expliquer

Le travail lui-même suit un schéma reconnaissable. On commence d'habitude par trouver les étapes qui reproduisent le problème, puis on simplifie le cas qui échoue en « diviser pour régner » : on en retire une partie et on vérifie si le problème se produit encore. Ensuite, soit on avance pas à pas avec un débogueur, en mettant le programme en pause pour inspecter son état, soit on suit des instructions d'affichage qui tracent ce qu'il fait, une habitude surnommée « printf debugging », d'après la fonction du langage C.

Quiz

0/3

  1. 1.Où employait-on le mot « debugging » avant qu'il entre en informatique ?
  2. 2.Que nous apprend un manuel de 1963 qui cite « debugging » dès la page 1, sans explication ?
  3. 3.Pourquoi les programmeurs retirent-ils une à une des parties d'un cas de test qui échoue ?

Récap

Reproduire le problème, simplifier le cas qui échoue, puis le parcourir avec un débogueur ou le tracer avec des instructions d'affichage.

Le fait surprenant · Oppenheimer employait « debugging » dans une lettre de 1944, et en 1952 le mot apparaissait encore entre guillemets dans les articles d'informatique.

Sources (2)

Pas de source, pas d'affirmation. Chacun des 13 faits de cette leçon renvoie à au moins une de ces sources.

  1. [1]Debugging · Wikipedia
  2. [2]Grace Hopper · Wikipedia
D'autres leçons · 💻 Tech (3) Toutes les leçons « Tech » →

Une lumière de plus sur ta carte.

Reçois une leçon comme celle-ci chaque jour, sur les sujets que tu aimes. Gratuit, en deux ou cinq minutes.

Récupère la carte à partager de cette leçon ↗