Tech●●●●●Difficulty 1 of 5

Why is fixing a program called 'debugging'?

Oppenheimer used the word 'debugging' in a 1944 letter, years before programmers made it their own.

▶ Start the story

Because engineers were already 'debugging' things before computers existed. Debugging means finding the root cause of a bug, along with workarounds and possible fixes, and the word was used in aeronautics before it entered computing. In a letter dated 27 October 1944 about recruiting more technical staff, J. Robert Oppenheimer, director of the Manhattan Project, was already using it.

In 1945 the Journal of the Royal Aeronautical Society used 'debugging' for testing airplane engines, and an Airforce article that June spoke of debugging aircraft cameras. 'Bug' itself is older still: in 1878 Thomas Edison called the little faults and difficulties of his inventions 'Bugs'. That is why the famous moth found in a relay of Harvard's Mark II, taped into a log book as the 'First actual case of a bug being found', was a joke rather than an origin.

Computing took the word over in the early 1950s. In the ACM's digital library, 'debugging' first appears in three papers from the 1952 ACM National Meetings, and two of the three still put it in quotation marks. By 1963 it was ordinary enough to be mentioned in passing, with no explanation, on page 1 of the CTSS manual.

How 'debugging' reached computing
  1. 1878

    Edison calls faults in his inventions 'Bugs'

  2. 1944

    Oppenheimer uses 'debugging' in a letter

  3. 1945

    'Debugging' airplane engines and cameras

  4. 1952

    First ACM papers, word still in quotes

  5. 1963

    CTSS manual uses it without explanation

The work itself has a recognizable shape. It usually starts by finding the steps that reproduce the problem, then simplifying the failing case with divide and conquer: remove part of it and check whether the problem still occurs. Programmers then either step through the program with a debugger, pausing it to inspect its state, or watch print statements trace what it does, a habit nicknamed 'printf debugging' after the C function.

Quiz me

0/3

  1. 1.Where was the word 'debugging' in use before it entered computing?
  2. 2.What does a 1963 manual mentioning 'debugging' on page 1 without explanation tell us?
  3. 3.Why do programmers remove parts of a failing test case one at a time?

Recap

Reproduce the problem, simplify the failing case, then step through it with a debugger or trace it with print statements.

Surprising fact · Oppenheimer used 'debugging' in a 1944 letter, and in 1952 computing papers it still appeared in quotation marks.

Sources (2)

No source, no claim. Every fact in this lesson (13 claims) cites at least one of these.

  1. [1]Debugging · Wikipedia
  2. [2]Grace Hopper · Wikipedia
More lessons in 💻 Tech (3) See all tech lessons →

One more light on your map.

Get one lesson like this every day, about the things you love. Free, in two or five minutes.

Get the share card for this lesson ↗