XXII
notion of universality in connection to the ZERO’s arithmetical unit. Van der Poel
sought the most simple computer that was still universal in Turing’s theoretical
sense [106, p.376]. He elaborated this principle in his Ph.D. dissertation [107].
For brief accounts, see De Mol & Bullynck [76] and Daylight [45]. An extensive
account is forthcoming [46].
15
Several chapters in Bowden’s 1953 book Faster than Thought [21] honored
Babbage in a similar manner. Chapter 8 on the ACE also made a connection
between Turing and Womersley’s computer building aspirations on the one hand,
and Turing’s 1936 paper on the other hand. But, as the “T¨
uring Machine”
entry on page 414 indicates, the vast majority of computer builders — and
practitioners in general — did not read Turing’s 1936 paper, let alone grasp it’s
practical implications (cf. [41]).
16
I thank Thomas Haigh for making this correction.
17
So far, my exposition aligns well with one of Akera’s main claims — namely
that
[a]side from the relative ease by which a program could be set up on such
a system, the major aim of [EDVAC’s] design was to reduce the amount of
hardware by severely limiting the machine’s parallelism. [8, p.115–116]
18
A discussion of von Neumann’s own writings lies outside the scope of this
article. I speculate that he knew that a store was not a necessary condition
(nor a sufficient condition) for realizing a practical version of a universal Turing
machine (cf. endnote 14 in [41, p.202]). Or, as Allan Olley befittingly puts it, “the
stored program [computer] is not the only way to achieve [what was later called]
a Turing complete machine” [92]. The terms “Turing” and “completeness” were
in use by 1965 (cf. J.G. Sanderson [102]).
Von Neumann was in a position to see that the universal Turing machine was
a mathematical model of his IAS computer, the EDVAC, and the ENIAC. There
is no primary sources supporting the popular belief that he thought he was
building the first practical realization of a universal Turing machine. Priestley
has drawn very similar conclusions in his recent book [94, p. 139, 147–148]. More
important then is Akera’s observation that von Neumann was embarking on a
“formal theory of automata” — a theory which pertained to “machines capable
of modifying their own programs” [8, p.119]. And, just to be clear, the ability to
modify its own programs is not a prerequisite to practically realizing a universal
Turing machine.
19
An erasable store was not a necessary condition (nor a sufficient condition)
for realizing a practical version of a universal Turing machine — a fact known
to the mathematical logician Hao Wang in 1954 who did ponder about these
theoretical issues [41, p.21].
XXIII
20
From a sociological perspective, it is interesting to compare and contrast
Hopper’s words with the following words made by Andrew Appel in 2012:
[Appel, 27 minutes and 44 seconds into his talk:] The machines we use today
are von-Neumann machines. And von Neumann was quite clearly influenced
by Turing in building universal machines with a finite-state control and infinite
tape. Really the only difference is that the infinite tape is random access rather
than linear access. So von-Neumann machines are what we now call computers.
The Harvard architecture in which the program is not stored in the memory
of the computer; well, we saw a quotation from Howard Aiken [in the previous
talk by Martin Davis [38] — a quotation which Davis repeatedly uses to ridicule
Aiken and which I object to in my book [41, Ch.8]]. By the 90s, when you called
something a Harvard architecture, you meant that the program was stored in
a memory but in a read-only memory because nobody would even imagine
that you could have a computer program that wasn’t even representable as
bits. [11]
Both Hopper and Appel were using the historical actor “Howard Aiken” and
“history” in general to make a case for their own research aspirations. I view
Hopper as a pluralist; in her 1978 keynote address, she repeatedly encouraged
a multitude of programming styles as opposed to “trying to force” every practi-
tioner into “the pattern of the mathematical logician”:
[Hopper:] I’m hoping that the development of the microcomputer will bring
us back to reality and to recognizing that we have a large variety of people
out there who want to solve problems, some of whom are symbol-oriented,
some of whom are word-oriented, and that they are going to need different
kinds of languages rather than trying to force them all into the pattern of the
mathematical logician. A lot of them are not. [111, p.11, my emphasis]
I view Appel as a unifier; that is, as a theoretically-inclined researcher who seeks
unifying principles to further his research. Appel’s 2012 address was all about
the importance of mathematical logic in computing and thus, unsurprisingly,
about Turing and von Neumann’s allegedly important roles in the history of the
computer.
21
An anonymous reviewer is quite right in noting that the words “In my eyes”
run the risk of judging Carr’s work in anticipation of later ways of thinking. To
rectify this, I include this footnote as a disclaimer (which has another, intended,
effect than simply removing the quoted words from the narrative).
22
While it was common practice to refer to the “universal language of mathe-
matics” and while it was customary to associate a language with machine code,
as in the words “machine language”, it was in 1954 still uncommon to describe
the pseudo code of a computer as a “language”. Brown and Car did consistently
do this in their joint paper (— Backus and Herrick came in a close second at