A
pioneer of the Edsac computer at Cambridge who helped to develop the
second generation of a programming language called Assembly Language,
assembler.

Long before there was object-oriented programming, David
John Wheeler created the closed subroutine, which enabled segments
of code to be written independently of the main application flow and
called as needed.

He worked on the original EDSAC computer and wrote the
first computer program ever to be stored in a computer's working memory.
He pioneered the use of sub-routines and is particularly remembered
for his work on data compression (TEA)(3).

Wheeler, who also was involved with some of the earliest
computers, such as the University of Illinois’ ILLIAC—the
first computer to be wholly owned by an educational institution.

David Wheeler was one of the generation of mathematicians
and engineers who were drawn to the newly emerging discipline of computer
science in the period immediately after the Second World War. As a
member of the team working with Maurice Wilkes on Cambridge’s
Edsac (Electronic Delay Storage Automatic Computer), he was responsible
for the system that provided instructions to the computer, and the
innovations he made at the time still form the basis of modern computer
programming.

Wheeler’s “initial orders” allowed Edsac instructions
to be provided in a simple language rather than by writing binary
numbers, and made it possible for non-specialists to begin to write
programs. This was the first “assembly language” and was
the direct precursor of every modern programming language, all of
which derive from the desire to let programmers write instructions
in a legible form that can then be translated into computer-readable
binary.

As the first programmer for Edsac, Wheeler invented ways of working
which have now become standard. He realised that lines of program
code could often be reused, and created the subroutine and the idea
of keeping frequently-needed subroutines in a separate library which
could be called on as necessary. He also developed the “Wheeler
Jump” to allow a program to pass control to a subroutine, the
precursor of the “goto” statement known to everyone who
has ever written a program in Basic.

Wheeler was an inspiring teacher who helped to develop computer science
teaching at Cambridge from its inception in 1953, when the Diploma
in Computer Science was launched as the world’s first taught
course in computing. Many of his research students now occupy senior
positions in major computer companies, or have made their own significant
contributions to computer science, including the development of new
programming languages.

David John Wheeler was born in 1927 in Birmingham. He was one of
many children evacuated from major cities during the period of heavy
bombing in the Second World War. In 1945 he was awarded a scholarship
to Trinity College, Cambridge, where he read mathematics and graduated
in 1948. During this period Maurice Wilkes was working in the reopened
Mathematical Laboratory, as the Computer Laboratory was known until
1970, on a project to build a stored-program electronic computer called
Edsac. In 1947 Wheeler joined a group of students working with Wilkes,
and after graduation he became the lab’s second post-graduate
student.

The first program was run on Edsac in March 1949, incorporating many
of Wheeler’s innovations in its program system. These included
the “initial orders” — a program which could translate
simple commands into the binary instructions needed by the computer.
This allowed Edsac to be programmed by non-specialists and marked
the first step in the development of programming languages. Edsac
was not the first computer to store and run a program, because Manchester
University’s “Baby” had been doing so since June
1948, but Wheeler’s work meant that Edsac could be made available
to researchers outside the Mathematical Laboratory.

Experience with writing programs for Edsac led Wheeler and his colleagues
Maurice Wilkes and Stanley Gill to publish the first book for programmers,
The Preparation of Programs for an Electronic Digital Computer, in
1951, and Wheeler received the first doctorate awarded by the lab
in the same year. However, by the time he heard that he had been awarded
a two-year research fellowship at Trinity College he had accepted
a post as assistant professor at the University of Illinois, home
of the Ordvac (Ordnance Discrete Variable Automatic Computer), the
world’s fastest computer at the time. Wheeler worked on the
programming system for Ordvac and its successor, the Illiac.

He returned to Cambridge in 1953, taking up his deferred fellowship
and returning to the Mathematical Laboratory. Although most of the
design work on Edsac 2, the successor to the original Edsac, had been
completed, he quickly took on a key role defining its programming
system and the basic set of commands that the computer could carry
out — what is now called an “instruction set”. Edsac
2 went into service in 1958.

In 1955 Joyce Blackler, a research student in applied mathematics,
began using Edsac for her work and met David Wheeler. They married
in August 1957.

Wheeler spent the rest of his career in Cambridge, although he returned
to Illinois in 1959 for a brief period, during which his son Martin
was born. In Cambridge he worked on the Titan computer, which replaced
Edsac 2 in 1964, and he made significant contributions to work in
computer networks, data compression techniques and computer security.
His daughters Lois and Alison were born in Cambridge.

He became a Fellow of Darwin College in 1965 and spent 1966 at the
University of California in Berkeley, working on ways to connect online
terminals to mainframe computers. In 1968 he worked for a period at
Bell Labs, the foremost commercial computing research institution
of the time, on data compression techniques. He became Professor of
Computer Science in 1977.

He retired in 1994 but remained an active member of the Computer
Laboratory until his death, despite increasing loss of vision caused
by age-related macular degeneration.

David Wheeler was a private man who was not well known outside the
academic computer science community, but his significant contribution
to modern computing was widely acknowledged within the field. He was
elected a fellow of the British Computer Society in 1970, and in 1981
he became one of the earliest computer scientists to be elected a
Fellow of the Royal Society. In 1985 the Institute of Electrical and
Electronic Engineers awarded him the Pioneer Medal “for assembly
language programming”, and last year he was made a fellow of
the Computer History Museum.

He continued to work in the Cambridge Computer Lab right up until
his death after his retirement.

He is survived by his wife, Joyce, and by their three children.

Chronology

1927 born in Birmingham.

1945 awarded a scholarship to Trinity College, Cambridge,

1947 started to work on the EDSAC under Maurice Wilkes

1948 Graduated in mathematics

1951 published "The Preparation of Programs for
an Electronic Digital Computer";

Ph.D. in computer science at Cambridge UK

1953 computer science teaching at Cambridge

1957 married Joyce Blackler

1959 Returned to Cambridge, Illinois, working on the
Titan computer

1965 Fellow of Darwin College

1966 the University of California in Berkeley

1968 Worked at Bell Labs on data compression techniques.

1977 became Professor of Computer Science

1994 Retired but stayed active in Computer Science at
Cambridge

2004 Passed away

Honors and awards

1951 received the first doctorate award in computer
science.

1970 elected a fellow of the British Computer Society.

1981 elected a Fellow of the Royal Society.

1985 awarded the Pioneer Medal “for assembly
language programming”.

2003 fellow of the Computer History Museum for his invention
of the closed subroutine, his architectural contributions to the ILLIAC,
the Cambridge Ring, and computer testing (3).

Bibliography

Maurice V. Wilkes, David J. Wheeler, and Stanley Gill,
The Preparation of Programs for an Electronic Digital Computer, Special
Reference to the EDSAC and the Use of a Library of Subroutines 1951
(reprint, Los Angeles, 1982).

Letter to the editor on "A method for transposing
a matrix''. Journal of the ACM, 6(2):305; April 1959