David John Wheeler FRS (9 February 1927 – 13 December 2004) was a computer scientist and professor of computer science at the University of Cambridge.
Wheeler was born in Birmingham, England, the second of the three children of (Agnes) Marjorie, née Gudgeon, and Arthur Wheeler, a press tool maker, engineer, and proprietor of a small shopfitting firm. He was educated at a local primary school in Birmingham and then went on to King Edward VI Camp Hill School after winning a scholarship in 1938. His education was disrupted by World War II, and he completed his sixth form studies at Hanley High School. In 1945 he gained a scholarship to study the Cambridge Mathematical Tripos at Trinity College, Cambridge, graduating in 1948. He was awarded the world's first PhD in computer science in 1951.
Wheeler's contributions to the field included work on the Electronic delay storage automatic calculator (EDSAC) in the 1950s and the Burrows–Wheeler transform (published 1994). Along with Maurice Wilkes and Stanley Gill, he is credited with the invention around 1951 of the subroutine (which they referred to as the closed subroutine), and gave the first explanation of how to design software libraries; as a result, the jump to subroutine instruction was often called a Wheeler Jump. Wilkes published a paper in 1953 discussing relative addressing to facilitate the use of subroutines. (However, Turing had discussed subroutines in a paper of 1945 on design proposals for the NPL ACE, going so far as to invent the concept of a return address stack.)
He was responsible for the implementation of the CAP computer, the first to be based on security capabilities. In cryptography, he was the designer of WAKE and the co-designer of the TEA and XTEA encryption algorithms together with Roger Needham. In 1950, with Maurice Wilkes, he used EDSAC to solve a differential equation relating to gene frequencies in a paper by Ronald Fisher. This represents the first use of a computer for a problem in the field of biology.
Wheeler married Joyce Blackler in August 1957, who used EDSAC for her own mathematical investigations as a research student from 1955. He became a Fellow of Darwin College, Cambridge in 1964 and formally retired in 1994, although he continued to be an active member of the University of Cambridge Computer Laboratory until his death.
Recognition and legacy
Wheeler was elected a fellow of the Royal Society in 1981, and received a Computer Pioneer Award in 1985 for his contributions to assembly language programming. In 1994 he was inducted as a Fellow of the Association for Computing Machinery. In 2003, he was named a Computer History Museum Fellow Award recipient "for his invention of the closed subroutine, and for his architectural contributions to ILLIAC, the Cambridge Ring, and computer testing."
The Computer Laboratory at the University of Cambridge annually holds the "Wheeler Lecture", a series of distinguished lectures named after him.
On 24 August 1957 Wheeler married astrophysics research student, Joyce Margaret Blackler. Together they had two daughters and a son. He died of a heart attack on 13 December 2004 while cycling home from the Computer Laboratory.
Wheeler is often quoted as saying "All problems in computer science can be solved by another level of indirection." or "All problems in computer science can be solved by another level of indirection, except for the problem of too many layers of indirection." This has been called the fundamental theorem of software engineering.
Another quotation attributed to him is "Compatibility means deliberately repeating other people's mistakes."
^Wheeler, D. J.; Needham, R. M. (1995). "TEA, a tiny encryption algorithm". Fast Software Encryption. Lecture Notes in Computer Science. 1008. p. 363. doi:10.1007/3-540-60590-8_29. ISBN 978-3-540-60590-4.
^ abHey, Tony; Pápay, Gyuri (2015). "The Software Is In The Holes". FORTRAN and COBOL: The story of John Backus and Grace Hopper. The Computing Universe: A Journey through a Revolution. Oxford University Press. p. 47. ISBN 9780521766456.
^The Preparation of Programs for an Electronic Digital Computer by Maurice Wilkes, David Wheeler, and Stanley Gill; (original 1951); reprinted with new introduction by Martin Campbell-Kelly; 198 pp.; illus; biblio; bios; index; ISBN 0-262-23118-2
^Proceedings of the Cambridge Philosophical Society, Vol 49, Pt 1, pgs 84-9
^Turing, Alan M. (1945), Report by Dr. A.M. Turing on proposals for the development of an Automatic Computing Engine (ACE): Submitted to the Executive Committee of the NPL in February 1946 reprinted in Copeland, B. J., ed. (2005), Alan Turing's Automatic Computing Engine, Oxford: Oxford University Press, p. 383, ISBN 0-19-856593-3
Oral history interview with David Wheeler, 14 May 1987. Charles Babbage Institute, University of Minnesota. Wheeler discusses projects that were run on EDSAC, user-oriented programming methods, and the influence of EDSAC on the ILLIAC, the ORDVAC, and the IBM 701. He also notes visits by Douglas Hartree, Nelson Blackman (of ONR), Peter Naur, Aad van Wijngarden, Arthur van der Poel, Friedrich Bauer, and Louis Couffignal.