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'histoireParce 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.
1878
Edison appelle « Bugs » les défauts de ses inventions
1944
Oppenheimer emploie « debugging » dans une lettre
1945
On « débogue » moteurs et caméras d'avion
1952
Premiers articles de l'ACM, mot entre guillemets
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
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.
Liens
- 🔓 Pourquoi une équipe de NBA a-t-elle remis les formulaires fiscaux de tous ses employés à un escroc ?
- 📼 Quelle était la machine imaginaire décrite par Alan Turing en 1936 ?
- ☢️ Comment le projet Manhattan a-t-il tenu 130 000 travailleurs dans l'ignorance ?
- 🦋 Le premier bug informatique était-il vraiment un insecte ?
Sources (2)
Pas de source, pas d'affirmation. Chacun des 13 faits de cette leçon renvoie à au moins une de ces sources.