-
Views
-
Cite
Cite
David W. Barron, David Wheeler: A Personal Memoir, The Computer Journal, Volume 48, Issue 6, November 2005, Pages 650–651, https://doi.org/10.1093/comjnl/bxh131
- Share Icon Share
Extract
I came into computing by accident similar to many others of my generation. In 1956 I was a research student in the Cavendish Laboratory in Cambridge, engaged in theoretical studies of radio wave propagation in the upper atmosphere. My supervisor outlined a particularly intractable problem, then added ‘there’s this computer in the Mathematical Laboratory. Why don't you go over there and see if it can help?' So I did, and it could. A week later, I had taken up residence in the ‘Maths Lab’ and unknowingly started a 40-year career in computing. As a result of this serendipitous move, I came to know, and later work with, David Wheeler. For me, it was eight momentous years in the company of one who, despite all the competition, deserves the title of the world's first real programmer, and who taught me so much when I was young and green.
When I joined the Mathematical Laboratory as a research student in 1956, David Wheeler had already been there for 9 years. To a new boy, he was up there with the other giants—Wilkes, Hartree, Haselgrove, Swinnerton-Dyer and others. So it is not surprising that I did not get to know him personally until somewhat later in my career. But although I did not immediately know him personally, I could not help knowing about him. At a time when people elsewhere were still preparing programs in binary, EDSAC programmers had the luxury of David Wheeler's ‘Initial Orders’. We had alphabetic instruction codes—‘A’ for add, ‘S’ for subtract, ‘V’ for multiply etc. We had decimal addresses, and a trailing code to signify a single or double word operand. And we had subroutines: the building bricks provided by the subroutine library and subroutines that we wrote ourselves. This was made possible by David's invention of a calling sequence to implement closed subroutines, and by a facility in the Initial Orders that allowed us to use addresses relative to the beginning of the subroutine—the first instance of (almost) position-independent code. The 41 instructions of the Initial Orders (wired onto telephone uniselectors to form the world's first ROM) were a tour-de-force. If David had done nothing more than invent the closed subroutine and devise the Initial Orders, he would still deserve his place at the head of the Computing Hall of Fame.