A New Language



Many terms commonly used in computer programming originated with Mark I.
These terms, nowadays digital, originally referred to physical features of the machine and the paper tape that encoded the programs.

The "Loop"

Paper tape with sequence code, functions or numbers could be looped on itself to perform repetitive operations, such as in the interpolator shown here.

Collection of Historical Scientific Instruments, Harvard University

The "Patch"

Small corrections to the programmed sequence could be done by patching over portions of the paper tape and re-punching the holes in that section. Photographed at the Smithsonian Archives Center.

Photographed from a tape sample at Grace Murray Hopper Collection, Archives Center, National Museum of American History, Smithsonian Institution

The "Library"

Sections of tape from previous problems could be cut, stored, and pasted back together with glue and iron for new uses, forming a growing repository of computer code.

Collection of Historical Scientific Instruments, Harvard University

The "Bug"

Before 1944, electrical engineers already used the term "bug" to refer to hard-to-find physical defects that hindered the operation of an electric device. The Mark I team appropriated the term for unexpected problems in the "coding" of a problem. Above are cartoons drawn by Grace Hopper of the different types of bugs encountered during her work. Image courtesy of the Smithsonian Archives Center.

A Legendary Bug

A legendary bug: In 1947, a physical malfunction in the Mark II computer was traced back to a moth stuck in one of the relays. Grace Hopper taped it to the operations logbook with the annotation "First actual case of bug being found". Image courtesy of the Smithsonian Archives Center.

Grace Murray Hopper Collection, Archives Center, National Museum of American History, Smithsonian Institution

 
Collection of Historical Scientific Instruments   © President and Fellows of Harvard College