It Began with Babbage (32 page)

Read It Began with Babbage Online

Authors: Subrata Dasgupta

BOOK: It Began with Babbage
7.89Mb size Format: txt, pdf, ePub

Location of order

Order

100

H 103 F

101

E 108 F

102

P 5 F

103

J F

As the reading of data from input tape is controlled directly by orders held in the store we require some process to start the machine. Orders have been wired on a set of uniselectors and when the starting button of the machine is pressed these are automatically placed in the store and the action of these orders causes the tape to be read. These orders are called initial orders.
43

At first blush, it seems that the initial orders act simply to load a program from paper tape into EDSAC memory and begin its execution—what came to be called a program
loader
.
44
However, the initial orders do much more. To begin with, the instructions were written and punched on paper tape in the symbolic form just described, then the initial orders read the symbols on the tape and (a)
translated
them automatically, one order at a time, into binary form—representing the functions to be performed by the orders and the addresses of the numbers to be accessed on which the function would be performed (that is, the operands); (b)
assembled
the orders in proper fashion (the function digit, the operand addresses, and the length discrimination digits); and (c) placed the assembled orders into the EDSAC memory by means of a special order.
45

In present-centered terms, this was a
programming system—
an ensemble of “application-independent” programs that makes the computer usable to the “ordinary” programmer.
46
Wheeler had invented a rudimentary but usable programming system—arguably the very first—comprising, in his case, an
assembly language
to write EDSAC programs in symbolic form, an
assembler
that translated the assembly language programs automatically into binary form, and a
loader
that would load the assembled code into memory prior to its execution.

An assembler is one of the simpler types of automatic language translators, although, as the architecture of the stored-program computer evolved in complexity, this translation process would evolve concomitantly in complexity.
47
Wheeler's “initial orders” combined the functions of assembler and loader.

VII

Wheeler's two major inventions, the closed subroutine and the assembly language/assembler–loader programming system perhaps make him the first
systems programmer—
a person who writes and implements programs that aid others who are the users of the computer. Interestingly, the Manchester Mark I group working contemporaneously eschewed the idea of symbolic programming and assembly,
48
although, as we will see, in the realm of systems programming they more than compensated for this decision in later projects.

The EDSAC project not only heralded the first fully operational stored-program computer, but also it unfolded and expanded the stored-program computer paradigm in directions that perhaps Wilkes himself had not contemplated when he began the project in 1946.

The very idea of a computing
machine
had been enlarged. The machine was now a symbiosis of two kinds of artifacts, the physical computer built of electronic and electromechanical components and the liminal, quasi-autonomous “two-faced” artifact called computer program (or, later,
software
) that would serve as the interface between the human user and the physical computer. We see here, the interplay of two kinds of computational artifacts, the material and the liminal.

Moreover, a distinction between two classes of programs had emerged, although names for these classes were yet to come. There were the programs that were written to solve the computational problems of interest to users of the machine. In present-centered terms, these were the
application programs
. And there were the programs that would facilitate the running of application programs—what would be called
system programs
.

The paradigm had not shifted. Its core was still the concept of the stored-program computer principle as the EDVAC report had prescribed. However, the physicality of the stored-program computer had been
decentered
within the paradigm. The physical computer now coexisted in equal footing with the liminal programs. It was not enough to design and build a physical machine; it was as important to design and build programs that facilitated the use of the physical machine. In present-centered language, with the EDSAC, the dichotomy of the concepts of
hardware
and
software
came into existence, if not the terms themselves.

Wilkes and his colleagues fully realized just how central programs and programming was to this paradigm's efficacy. In 1951, he and two research students, Wheeler and Stanley Gill (1926–1975) published (in America, as it happened)
Preparation of Programmes for an Electronic Digital Computer
.
49
This was the first book on computer programming.

Thomas Kuhn had emphasized that one of the characteristics of a mature paradigm is the availability of texts that defined the state of knowledge within the discipline.
Preparation of Programmes for an Electronic Digital Computer
served precisely such a role for at least one significant part of the stored-program computer paradigm. In fact, the publication of this book was a proclamation of the centrality of programming in the evolving paradigm.

NOTES

  
1
. Anon. (1950).
Report on a conference on high speed automatic calculating-machines, June 22–25, 1949
. Cambridge, UK: University Mathematical Laboratory.

  
2
. H. H. Goldstine & J. von Neumann. (1947).
Planning and coding problems for an electronic computing instrument
. Unpublished report. Princeton, NJ: Institute of Advanced Study. This report was later published in A. H. Taub. (Ed.). (1963).
John von Neumann, collected works
(Vol. 5, pp. 8–235). New York: Pergamon.

  
3
. D. J. Wheeler. (1949). Planning the use of a paper library. In Anon (pp. 36–40), 1950, op cit., p. 36.

  
4
. D. E. Knuth. (1970). Von Neumann's first computer program.
ACM Computing Surveys, 2
, 247–260. Reprinted in D. E. Knuth. (1996).
Selected papers on computer science
(pp. 205–226). Stanford, CA: Center for the Study of Language and Information. All citations to this article will refer to the 1996 reprint.

  
5
. Knuth, 1996, op cit., p. 205.

  
6
. F. P. Brooks, Jr. & K. E. Iverson. (1969).
Automatic data processing: System/360 edition
(pp. 75–81). New York: Wiley.

  
7
. Knuth, op cit., p. 206.

  
8
. Ibid., p. 220.

  
9
. Ibid., pp. 211, 222.

10
. H. H. Goldstine. (1972).
The computer from Pascal to von Neumann
(p. 266). Princeton, NJ: Princeton University Press.

11
. Ibid.

12
. Goldstine & von Neumann, op cit., p. 1.

13
. A. W. Burks, H. H. Goldstine, & J. von Neumann. (1946).
Preliminary discussion of the logical design of an electronic computing instrument
. Princeton, NJ: Institute of Advanced Study.

14
. Goldstine & von Neumann, op cit., pp. 1–2.

15
. Ibid., p. 4.

16
. The literature on the art and science of translation is vast. The interested reader may consult, for example, G. Steiner. (1975).
After Babel: Aspects of language and translation
. Oxford: Oxford University Press; A. Dingwaney & C. Maeir. (Eds.). (1995).
Between languages and cultures
. Pittsburgh, PA: University of Pittsburgh Press; S. Chaudhuri. (2002).
Translation and understanding
. New Delhi: Oxford University Press.

17
. Goldstine & von Neumann, op cit., p. 4.

18
. Ibid.

19
. Ibid.

20
. Ibid., p. 14.

21
. Goldstine & von Neumann, op cit., p. 17.

22
. Ibid., p. 20.

23
. Ibid.

24
. M. V. Wilkes. (1985).
Memoirs of a computer pioneer
(p. 143). Cambridge, MA: MIT Press.

25
. Ibid.

26
. J. W. Mauchly. (1975). Preparation of problems for EDVAC-type machines. In B. Randell (Ed.),
The origins of digital computers
(2nd ed., pp. 365–360). New York: Springer-Verlag (original work published 1947; see especially p. 367).

27
. Ibid.

28
. A. M. Turing. (1947). Lectures to the London Mathematical Society, February 20. Reprinted in D. C. Ince. (Ed.). (1992).
Collected works of A.M. Turing: Mechanical intelligence
(pp. 106–124). Amsterdam: North-Holland (see especially p. 118).

29
. G. M. Hopper. (1978). Keynote address. In R. L. Wexelblat (Ed.),
History of programming languages
(pp. 7–20). New York: Academic Press (see especially p. 8).

30
. Anon. (1985).
David Wheeler, 1985 Computer Pioneer Award
[On-line]. Citation. IEEE Computer Society. Available:
http://www.computer.org

31
. Wilkes, op cit., p. 148.

32
. Ibid., p. 143.

33
. J. C. Jones. (1980).
Design methods: Seeds of human future
(2nd ed.) New York: Wiley.

34
. Wheeler, op cit., p. 36.

35
. Ibid.

36
. D. J. Wheeler. (1951).
Automatic computing with the EDSAC
. PhD dissertation, University of Cambridge, p. 13.

37
. Wheeler, 1949, op cit., p. 37.

38
. Ibid.

39
. Wheeler, 1951, op cit., pp. 39–40.

40
. Ibid.

41
. Ibid., 1951, p. 114.

42
. Ibid., 1951, p. 19.

43
. Ibid., 1951, p. 23.

44
. D. W. Barron. (1978).
Assemblers and loaders
(3rd ed.). New York: Elsevier North-Holland.

45
. Wheeler, 1951, op cit., p. 24.

46
. Brooks & Iverson, op cit., p. 364.

47
. Barron, op cit.

48
. Ibid., p. 2.

49
. M. V. Wilkes, D. J. Wheeler, & S. Gill. (1951).
Preparation of programmes for an electronic digital computer
. Cambridge, MA: Addison-Wesley.

10
Glimpses of a Scientific Style
I

IN AUGUST
1951, David Wheeler submitted a PhD dissertation titled
Automatic Computing with the EDSAC
to the faculty of mathematics (D. F. Hartley, personal communication, September 7, 2011) at the University of Cambridge.
1
The year after, in November 1952, another of Maurice Wilkes's students, Stanley Gill, submitted a thesis titled
The Application of an Electronic Digital Computer to Problems in Mathematics and Physics
.
2

Wheeler's was not the first doctoral degree awarded on the subject of computing. That honor must surely go to Herman Hollerith for his thesis submitted to Columbia University in 1890 on his invention of an electrical tabulating system (see
Chapter 3
, Section IV). Nor was Wheeler's the first doctoral degree on a subject devoted to
electronic
computing. In December 1947, Tom Kilburn (codesigner with Frederic C. Williams of the Manchester Mark I [see
Chapter 8
, Section XIII]) had written a report on the CRT-based memory system he and Williams had developed (but called the
Williams tube
). This report was widely distributed in both Britain and the United States (and even found its way to Russia),
3
and it became the basis for Kilburn's PhD dissertation awarded in 1948 by the University of Manchester (S. H. Lavington, personal communication, August 31, 2011).

Wheeler's doctoral dissertation, however, was almost certainly the first on the subject of
programming
. And one might say that the award of these first doctoral degrees in the realm of computer “hardware” (in Kilburn's case) and computer “software” (in Wheeler's case) made the invention and design of computers and computing systems an academically respectable university discipline.

As we have witnessed before in this story, establishing priority in the realm of computing is a murky business, especially at the birth of this new discipline. Thus, if by
“computer science” we mean the study of computers and the phenomena surrounding computers (as three eminent computer scientists Allan Newell, Alan Perlis (1922–1990), and Herbert Simon suggested in 1967
4
), then—assuming we agree on what “computers” are—the boundary between hardware and software, between the physical computer and the activity of computing, dissolves. Kilburn's PhD dissertation of 1948 belongs as much to computer science as does Wheeler's of 1951. If, on the other hand, computer science is viewed as one of two—or even three—”computer cultures,” along with computer technology and computer mathematics,
5
then Kilburn's dissertation belongs to computer technology and Wheeler's to computer science.

One marker of the unease over this question of “identity” is that a venerable book series comprising critical surveys of various research topics that has been published continuously since 1960 continues to bear its original title
Advances in Computers
, not
Advances in Computer Science
or any other disciplinary name. In contrast, comparable book series in other fields refer to the discipline, not the object of study such as, for example,
Advances in Psychology
or
Advances in Anthropology
, and so on. The debate has not abated to this day, and this very fact suggests that it is, to a large extent, an unresolvable, perhaps even sterile, debate. Indeed, some recent thinkers have adopted
computing
or
computing science
s as umbrella terms encompassing every discipline to do with computation. They have suggested that computer science is a subdiscipline of the “computing sciences.”
6

Other books

Sunruined: Horror Stories by Andersen Prunty
Legion Lost by K.C. Finn
Bad Behavior by Cristina Grenier
Perpetual Winter: The Deep Inn by Carlos Meneses-Oliveira
The Winner's Kiss by Marie Rutkoski
Gypsey Blood by Lorrie Unites-Struff
Trust Your Eyes by Linwood Barclay
In Between by Jenny B. Jones