XIII
Equally noteworthy — for the purpose of documenting Turing’s scholarly
legacy — is Booth’s historiographical remark about Turing’s 1936 paper.
Why was it, then, that Turing’s original work, finished in 1937 before any
computing machine of modern type was available, assumed importance only
some years after machines were in common use? The reasons, I think, stem
entirely from the historical development of the subject. [52, p.2]
According to Booth, the first computing machines were used almost exclusively
by their constructors and, hence, by people who were intimately aware of their
internal construction. It took some years before the machines were used for sci-
entific applications, devised by people who were and wanted to remain ignorant
of the machine itself and, hence, had to rely on automatic programming tech-
niques [41, p.24–25].
Two Metaphors
Apart from Booth’s opening address, also Gill discussed some practical impli-
cations of Turing’s work at the 1959 workshop in Brighton in his talk “The
Philosophy of Programming” [my emphasis]. On the one hand, Gill noted, au-
tomatic programming can be viewed as a “language translation problem”; that
is, “from the language used by the programmer into the actual instructions re-
quired by the computer”. This language metaphor — still perceived as novel by
many in 1954 — was a well established metaphor in 1959.
41
On the other hand,
Gill continued, “another way of looking at automatic coding is based on the
idea expressed by Turing”; namely that “one computer can be made to imitate
or to simulate another computer” [52, p.182, my emphasis]. Turing’s work, Gill
continued, implies that
an actual computer, together with a suitably designed program, [is] equivalent
to another computer which may not actually exist as a separate entity. When
looked at in this way, an automatic coding scheme behaves rather like the skin
of an onion, which if removed, reveals another onion underneath. [52, p.182]
Gill articulated this onion-skin metaphor in terms of the words “hierarchies of
coding schemes” and “hierarchy of programming languages”. To explain this
hierarchy, Gill made an analogy with a hierarchy of natural languages. An En-
glish man may, at a later stage of his life, supplement his native language with
a glossary of terms related to his profession, say, nuclear physics. Then, when
studying a particular topic in nuclear physics, he might further supplement his
language with a list of particular symbols and definitions, and so on. Likewise,
for a computer which is supplied with coding scheme No. 1, one can supplement
it in turn with scheme 1a or scheme 1b, “each adapting the system in a little
more detail to some particular class of problems” [52, p.186].
42
By 1960, Gorn was preaching about languages and Turing machines all over
the place. He called his research agenda “Mechanical Languages and their Trans-
lators” and he described his agenda in terms of the words: “decidable languages”,
“universal mechanical languages”, and “universal formal mixed languages” [2,
XIV
p.29].
43
Most striking (to the historian) is his summarized curriculum of Elec-
trical Engineering (1959–1960) in which he used the words “Turing machine”
three times(!) and, specifically, as follows:
–
Digital Computers - Engineering Logic
•
Elements of number theory; Turing machines and the foundations of compu-
tation theory; [. . .]
–
Theory of Automata
•
Advanced problems in varieties of automata, including combinatorial nets, se-
quential nets, and Turing machines. Languages for describing the behavior
of automata. A brief account of recursive function theory, formal axiomatic
systems and Goedel’s theorem; the relation of these to automata and their
significance for an understanding of the general nature of machine computa-
tion.
–
Introduction to Digital Computers: Systems and Devices
•
Principles of mechanization of computations derived from special and univer-
sal Turing machines. General purpose computers: system organization, input-
output, logic, storage, and memory devices and timing. [. . .] [2, p.33–38]
Clearly, to Gorn and Carr, Turing machines did not solely belong to the domain
of automata theory. Turing machines were also relevant in the practical context
of automatic programming. And, as we have seen, other automatic program-
mers, like Booth and Gill, were also delivering speeches about some practical
implications of Turing’s theoretical work, during the late 1950s.
44
4
Half a Century Later
Like Booth and Gorn in the 1950s, computer scientists in the 21st century have
the tendency to construct a set of “foundations” for computer science in which
ideas and events that had not been understood as connected when they hap-
pened are retrospectively integrated. (This, I believe, is characteristic of scientific
progress!) Subsequent generations of computer scientists then tend to assume
that these things have always been related. The connection between universal
Turing machines and computers is one notable example. On the other hand,
critical, self-reflecting, questions are put into the open every now and then. For
example, the question “Why are we celebrating Turing?” was asked at several
Turing events in the year 2012, the centennial of Alan M. Turing. Nobody gave
an historically-accurate answer however, hence my incentive to write the present
paper.
From a sociological perspective, I postulate that a majority of researchers
gathered together in 2012 to celebrate their common belief that theory really
does come before practice: mathematics and logic are indispensable in comput-
ing; that is, after all, what von Neumann and Turing have shown us, is it not?
Or, as Robinson puts it:
We can today see that von Neumann and Turing were right in following the
logical principle that precise engineering details are relatively unimportant in
the essential problems of computer design and programming methodology. [99,
p.12]