Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
David Wheeler (computer scientist)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{short description|British computer scientist (1927–2004)}} {{Use British English|date=August 2012}} {{Use dmy dates|date=March 2020}} {{Infobox scientist | name = David Wheeler | honorific_suffix = {{postnominals|FRS}} | birth_name = David John Wheeler | image = EDSAC (14) (cropped).jpg | caption = | birth_date = {{birth date|1927|2|9|df=y}}<ref>{{Cite ODNB | first = Martin| last = Campbell-Kelly| authorlink = Martin Campbell-Kelly| title = Wheeler, David John (1927–2004)| volume = 1| doi = 10.1093/ref:odnb/94633 | year = 2004 }}</ref> | birth_place = [[Birmingham]], England | death_date = {{death date and age|2004|12|13|1927|2|9|df=y}} | death_place = [[Cambridge]], England | residence = | nationality = [[United Kingdom|British]] | field = [[Computer Science]] | work_institution = [[University of Cambridge]]<br/>[[Computer Laboratory, University of Cambridge|Computer Lab, Cambridge]]<br />[[Darwin College, Cambridge]] | education = [[University of Cambridge]] (MA, PhD) | doctoral_advisor = [[Maurice Wilkes]]<ref name=mathgene>{{MathGenealogy|id=16946}}</ref> | doctoral_students = {{Plainlist| * [[Michael Burrows (computer scientist)|Michael Burrows]]<ref name=mathgene/> * [[Li Gong (computer scientist)|Li Gong]]<ref name="gongwheeler1990">{{Cite journal |last1=Li |first1=Gong |last2=Wheeler |first2=David J. |title=A matrix key-distribution scheme |journal=Journal of Cryptology |volume=2 |issue=1 |pages=51–59 |doi=10.1007/bf02252869|year=1990 |citeseerx=10.1.1.51.1279 |s2cid=30468228 }}</ref> * [[Andy Hopper]]<ref name="hopperphd">{{cite thesis |degree=PhD |first=Andy|last=Hopper |title=Local Area Computer Communication Networks |publisher=University of Cambridge |date=1978 |url=http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.459643}}</ref> * [[Mathai Joseph]]<ref name=mathgene/> * [[Roger Needham]]<ref name=mathgene/> * [[Bjarne Stroustrup]]<ref name=mathgene/> }} | thesis_title = Automatic Computing With EDSAC | thesis_year = 1951 | known_for = inventing [[subroutines]]<br/> [[Burrows–Wheeler transform]] (BWT)<ref>{{Burrows Wheeler 1994}}</ref><br/>[[Tiny Encryption Algorithm]] (TEA)<ref name="tea">{{Cite book | last1 = Wheeler | first1 = D. J. | last2 = Needham | first2 = R. M. | chapter = TEA, a tiny encryption algorithm | doi = 10.1007/3-540-60590-8_29 | title = Fast Software Encryption | series = Lecture Notes in Computer Science | volume = 1008 | pages = 363 | year = 1995 | isbn = 978-3-540-60590-4 }}</ref><br/>[[Wheeler Jump]]<ref name="goto">{{Cite conference |last1=Wheeler |first1=D. J. |author-link1=David Wheeler (computer scientist) |chapter=The use of sub-routines in programmes |doi=10.1145/609784.609816 |title=Proceedings of the 1952 ACM national meeting (Pittsburgh) on - ACM '52 |pages=235 |year=1952 |chapter-url=http://www.laputan.org/pub/papers/wheeler |url-status=dead |archive-url=https://web.archive.org/web/20150628022047/http://www.laputan.org/pub/papers/wheeler |archive-date=28 June 2015|doi-access=free }}</ref><br/>[[WAKE (cipher)|WAKE]]<br/>[[EDSAC]]<ref name="edsac">{{Cite journal |last=Wheeler |first=D. J. |year=1992 |title=The EDSAC programming systems |journal=IEEE Annals of the History of Computing |volume=14 |issue=4 |pages=34–40 |doi=10.1109/85.194053|s2cid=23064533 }}</ref> | prizes = [[Fellow of the Royal Society]] (1981)<br/>[[Computer Pioneer Award]] (1985)<br/>Fellow, Computer History Museum (2003)<ref name=museum>{{cite web|url=https://computerhistory.org/profile/david-john-wheeler/?alias=bio&person=david-wheeler|title=David John Wheeler: 2003 Fellow|website=Computer History Museum|access-date=15 May 2020}}</ref> }} '''David John Wheeler''' {{post-nominals|country=GBR|size=100%|FRS}} (9 February 1927 – 13 December 2004)<ref>{{Cite journal |last=Campbell-Kelly |first=M. |author-link=Martin Campbell-Kelly |year=2006 |title=David John Wheeler. 9 February 1927 -- 13 December 2004: Elected FRS 1981 |journal=[[Biographical Memoirs of Fellows of the Royal Society]] |volume=52 |pages=437–453 |doi=10.1098/rsbm.2006.0030|doi-access=free }}</ref><ref>{{cite news |url=http://www.cl.cam.ac.uk/misc/obituaries/wheeler/ |publisher=Cambridge Computer Laboratory |department= Obituaries|title= David Wheeler, 1927–2004 |access-date=2011-07-21}}</ref><ref>{{cite news |url=https://www.independent.co.uk/news/obituaries/professor-david-wheeler-698355.html |title=Professor David Wheeler |department= Obituaries|newspaper= The Independent |access-date=2011-07-21 |location=London |date=22 December 2004}}{{dead link|date=August 2021|bot=medic}}{{cbignore|bot=medic}}</ref> was an English [[computer scientist]] and professor of computer science at the [[University of Cambridge]].<ref name="microsoft">{{AcademicSearch|10222390}}</ref><ref>{{Cite book | last1 = Wheeler | first1 = D. J. | chapter = A bulk data encryption algorithm | doi = 10.1007/3-540-58108-1_16 | title = Fast Software Encryption | series = Lecture Notes in Computer Science | volume = 809 | pages = 127–134 | year = 1994 | isbn = 978-3-540-58108-6 }}</ref><ref>{{Cite journal |last1=Hopper |first1=A. |last2=Wheeler |first2=J. |date=October 1979 |title=Binary Routing Networks |journal=IEEE Transactions on Computers |volume=C-28 |issue=10 |pages=699–703 |doi=10.1109/tc.1979.1675237 |s2cid=20076347 |issn=0018-9340}}</ref><ref>{{Cite journal |last1=Hopper |first1=A. |last2=Wheeler |first2=D. |date=April 1979 |title=Maintenance of Ring Communication Systems |journal=IEEE Transactions on Communications |volume=27 |issue=4 |pages=760–761 |doi=10.1109/tcom.1979.1094451 |issn=0090-6778}}</ref> == Education == 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.<ref name=":0">{{Cite ODNB|url=http://www.oxforddnb.com/view/10.1093/ref:odnb/9780198614128.001.0001/odnb-9780198614128-e-94633|title=Wheeler, David John (1927–2004), computer scientist|last=Campbell-Kelly|first=Martin|date=2008-01-03|volume=1|language=en|doi=10.1093/ref:odnb/94633}}</ref> He was educated at a local primary school in Birmingham and then went on to [[King Edward VI Camp Hill School for Boys|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, Stoke-on-Trent|Hanley High School]].<ref name=":0" /> In 1945 he gained a scholarship to study the [[Cambridge Mathematical Tripos]] at [[Trinity College, Cambridge]], graduating in 1948.<ref name="dblp">{{DBLP|name=David J. Wheeler}}</ref> He was awarded the world's first<ref name="HeyAndPapay2015">{{cite book|last1=Hey|first1=Tony|author1-link=Tony Hey|last2=Pápay|first2=Gyuri|page=47|chapter=The Software Is In The Holes|title=The Computing Universe: A Journey through a Revolution|publisher=[[Cambridge University Press]]|isbn=9780521766456|date=2015}}</ref> PhD in computer science in 1951.<ref name="HeyAndPapay2015"/><ref>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}}</ref> ==Career== Wheeler's contributions to the field included work on the [[Electronic Delay Storage Automatic Calculator]] (EDSAC) in the 1950s<ref>{{Cite journal |last1=Wilkes |first1=M.V. |last2=Renwick |first2=W. |last3=Wheeler |first3=D.J. |year=1958 |title=The design of the control unit of an electronic digital computer |url=https://www.researchgate.net/publication/224590504 |journal=Proceedings of the IEE - Part B: Radio and Electronic Engineering |volume=105 |issue=20 |pages=121–128 |doi=10.1049/pi-b-1.1958.0267 |via=ResearchGate}}</ref> 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;<ref name="goto"/> as a result, the ''jump to subroutine'' instruction was often called a [[Wheeler Jump]]. Wilkes published a paper in 1953 discussing relative [[Addressing mode|addressing]] to facilitate the use of subroutines.<ref>Proceedings of the Cambridge Philosophical Society, Vol 49, Pt 1, pgs 84-9</ref> (However, [[Alan Turing|Turing]] had discussed subroutines in a paper of 1945 on design proposals for the NPL [[Automatic Computing Engine|ACE]], going so far as to invent the concept of a return address stack.<ref>{{Citation | last = Turing | first =Alan M. | author-link = Alan Turing | title = 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 | year = 1945 }} reprinted in {{Citation | editor-last = Copeland | editor-first = B. J. | editor-link = Jack Copeland | title = Alan Turing's Automatic Computing Engine | location = Oxford | publisher = Oxford University Press | publication-date = 2005 | isbn = 0-19-856593-3 | year = 2005 | url-access = registration | url = https://archive.org/details/alanturingsautom0000unse |page=383}}</ref>) 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 (cipher)|WAKE]] and the co-designer of the [[Tiny Encryption Algorithm|TEA]] and [[XTEA]] encryption algorithms together with [[Roger Needham]]. In 1950, with Maurice Wilkes, he used EDSAC to solve a [[differential equation]] relating to [[allele frequency|gene frequencies]] in a paper by [[Ronald Fisher]].<ref>{{Cite journal |last=Fisher |first=R. A. |date=December 1950 |title=Gene Frequencies in a Cline Determined by Selection and Diffusion |journal=Biometrics |volume=6 |issue=4 |pages=353–361 |doi=10.2307/3001780 |jstor=3001780|url=https://digital.library.adelaide.edu.au/dspace/bitstream/2440/15146/1/238.pdf |pmid=14791572 |hdl=2440/15146 |hdl-access=free }}</ref> This represents the first use of a computer for a problem in the field of [[biology]]. 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. == Personal life == On 24 August 1957 Wheeler married astrophysics research student Joyce Margaret Blackler, who had used EDSAC for her own mathematical investigations as a research student from 1955. Together they had two daughters and a son. Wheeler died of a [[heart attack]] on 13 December 2004 while cycling home from the Computer Laboratory.<ref name=":0" /> == Recognition and legacy == Wheeler: * In 1981 was elected a fellow of the [[Royal Society]] * In 1985 received a [[Computer Pioneer Award]] for his contributions to [[assembly language]] programming * In 1994 was inducted as a Fellow of the [[Association for Computing Machinery]] * In 2003 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"<ref name=museum /> The Computer Laboratory at the University of Cambridge annually holds the "Wheeler Lecture", a series of distinguished lectures named after him.<ref>{{cite web |url=http://www.cl.cam.ac.uk/seminars/wheeler/ |title=Computer Laboratory:Wheeler Lectures |access-date=15 October 2013}}</ref> == Quotes == Wheeler is often quoted as saying "All problems in computer science can be solved by another level of [[indirection]]."<ref> {{Cite book |title=Beautiful code |last=Spinellis |first=Diomidis |publisher=O'Reilly |year=2007 |isbn=978-0-596-51004-6 |editor-last=Oram |editor-first=Andy |location=Sebastopol, CA |chapter=Another level of indirection |editor-last2=Wilson |editor-first2=Greg |chapter-url=http://www.dmst.aueb.gr/dds/pubs/inbook/beautiful_code/html/Spi07g.html}} </ref> or "All problems in computer science can be solved by another level of indirection, except for the problem of too many layers of indirection."<ref>{{Cite book|last=Bjarne|first=Stroustrup|title=The C++ Programming Language - 4th edition|language=en|page=Preface}}</ref> This has been called the [[fundamental theorem of software engineering]]. Another quotation attributed to him is "[[backward compatibility|Compatibility]] means deliberately repeating other people's mistakes."<ref>{{Cite book|url=https://books.google.com/books?id=xRLqGKY8axwC&q=compatibility+is+deliberately+repeating+the+mistakes+of+others&pg=PA73|title=Trust, Complexity and Control: Confidence in a Convergent World|last=Cofta|first=Piotr|date=2007-09-27|publisher=John Wiley & Sons|isbn=9780470517840|language=en}}</ref> == References == {{reflist}} == External links == {{Commons category|David Wheeler (computer scientist)}} {{wikiquote}} * [http://purl.umn.edu/107711 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]], [[Adriaan van Wijngaarden|Aad van Wijngarden]], Arthur van der Poel, [[Friedrich L. Bauer|Friedrich Bauer]], and [[Louis Couffignal]]. * [http://purl.umn.edu/107335 Oral history interview with Gene H. Golub]. [[Charles Babbage Institute]], University of Minnesota. Golub discusses the construction of the [[ILLIAC]] computer, the work of Ralph Meager and David Wheeler on the ILLIAC design, British computer science, programming, and the early users of the ILLIAC at the University of Illinois. * {{Citation | editor-last = Copeland | editor-first = B. J. | editor-link = Jack Copeland | title = Alan Turing's Automatic Computing Engine | location = Oxford | publisher = Oxford University Press | publication-date = 2005 | isbn = 0-19-856593-3 | year = 2005 | url-access = registration | url = https://archive.org/details/alanturingsautom0000unse }} {{FRS 1981}} {{Authority control}} {{DEFAULTSORT:Wheeler, David}} [[Category:1927 births]] [[Category:2004 deaths]] [[Category:Alumni of Trinity College, Cambridge]] [[Category:British computer scientists]] [[Category:British information theorists]] [[Category:Fellows of the British Computer Society]] [[Category:Fellows of Darwin College, Cambridge]] [[Category:Fellows of the Royal Society]] [[Category:History of computing in the United Kingdom]] [[Category:Members of the University of Cambridge Computer Laboratory]] [[Category:Modern cryptographers]] [[Category:People educated at Hanley High School]] [[Category:People from Birmingham, West Midlands]] [[Category:1994 fellows of the Association for Computing Machinery]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:AcademicSearch
(
edit
)
Template:Authority control
(
edit
)
Template:Cbignore
(
edit
)
Template:Citation
(
edit
)
Template:Cite ODNB
(
edit
)
Template:Cite book
(
edit
)
Template:Cite journal
(
edit
)
Template:Cite news
(
edit
)
Template:Cite web
(
edit
)
Template:Commons category
(
edit
)
Template:DBLP
(
edit
)
Template:Dead link
(
edit
)
Template:FRS 1981
(
edit
)
Template:ISBN
(
edit
)
Template:Infobox scientist
(
edit
)
Template:Post-nominals
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Use British English
(
edit
)
Template:Use dmy dates
(
edit
)
Template:Wikiquote
(
edit
)