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 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.
1985 Computer Pioneer Award
“For assembly language programming.”
Learn more about the Computer Pioneer Award