[SIGCIS-Members] Isaacson thinks Jean Bartik contributed to the 1945 "First Draft" EDVAC design

Thomas Haigh thaigh at computer.org
Wed Oct 8 10:05:52 PDT 2014


Hello everyone,

 

I've had a chance to read carefully through chapters 2 and 3 on Isaacson, on
the invention of the computer and the origin of programming. One striking
thing is how detailed much of this narrative is, and how many obscure Annals
papers he cites. So it is clear that he has done a lot of reading and
digging into secondary sources. For a mass market book it's unusual even
have endnotes, and certainly (to make sure that nobody confuses to two
recent discussion threads) I see no reason for concern over plagiarism.

 

He is interested in some very traditional, very detailed questions on the
history of early electronic computing. In particular in assigning credit
between the various inventors of early machines. Although he cites a lot of
our work he presents his own interpretations of who did what, what was the
true "first computer," etc. So there are many pages on ENIAC, the ABC, the
"First Draft" and those other traditional topics. The book is more nuanced
in some areas than the things he says in interviews, and much of it is
clearly written and strikes me as accurate.

 

It's precisely because he has spent so much time with our work, and
presented his book with the apparatus of scholarly research, that I am
startled to see that he got so many things wrong. I counted 32 things in
those two chapters that struck me as errors or misleading assertions, from
the claim that ENIAC was never used to calculate tables to the idea that its
initial program run from December 1945 onwards (which he dates to October)
disproved Teller's design for a hydrogen bomb. Most of those are minor
things.

 

Here's the big one. In returning to these old questions of invention and
credit, Isaacson naturally has to address one of the thorniest questions of
all: how did thinking on computer design evolve between January 1944, at
which point Eckert and Mauchly were already speculating about post-ENIAC
computer designs and storage mechanisms, and April 1945 when Goldstine's
received from von Neumann the "First Draft of a Report on the EDVAC." We
know that von Neumann started to work with the ENIAC team in August 1944,
and that the "First Draft" was the first statement of the key ideas behind
modern computers. The extent to which von Neumann created those ideas versus
stealing the existing work of the ENAIC team has been much debated.

 

The problem historians face is that the participants spent the next few
decades on opposing sides of a long and bitter lawsuit, making oral
histories and memoirs more than usually problematic. Primary sources are
very thin for that whole period - a few letters, the sketchy minutes of four
meetings in early 1945, von Neumann's travel plans, and some technical
disclosures by Eckert and Mauchly of ideas on memory technologies and a disk
or drum calculator. A careful look at the meeting minutes tells one mostly
about what had not been settled on (like the dog that didn't bark). They
don't mention instruction sets, record disagreement on some basic
architectural options, and are focused mostly on memory technology. This, at
the least, keeps the door open for one to conclude that von Neumann designed
the proposed EDVAC instruction on his own while away from the Moore School
and that he had an important solo role in compressing a range of options
under consideration during the Moore School meetings into a coherent
architecture of radical simplicity.

 

Isaacson described the Spring 1945 meetings between von Neumann and the
ENIAC team in far more detail than any previous account. He does mention the
minutes, which is impressive as they are rather obscure. However, his main
source on what was discussed and how they were conducted is the recently
published memoir of Jean Bartik. Isaacson uses some lengthy quotes from her
to show that von Neumann led detailed discussion of a proposed instruction
set but welcomed the input of others, including Bartik who made a technical
point that he ultimately accepted. That fits Isaacson's interests in
rescuing "forgotten" women and to celebrating the collaborative nature of
innovation.

 

The problem: Bartik was not at those meetings. She had just begun training
as a human computer but was not yet part of the ENIAC team.  Her quotations
describe an entirely set of meetings, held in Princeton three years later
with an almost entirely different group of people. Those meetings were to
define an instruction set for ENAIC once it was converted to the EDVAC-mode
of programming I like to call the "modern code paradigm." It's clear from
her narrative that these meetings are taking place in 1947 so this is a very
odd mistake to make.

 

That's the biggest and strangest error I noticed, and I expect it will jump
out at any reader with a reasonable knowledge of the history of 1940s
computing. I also formed the distinct impression that Isaacson, despite
spending quite a few pages on the "stored program concept" and the first
stored program computer, does not really understand it (pardonable) or have
his book read carefully by anyone who did (less pardonable). The traditional
reading of "stored program" is that an externally programmed machine like
the Harvard Mark I fetches and executes instructions one at a time from a
paper tape or other external medium. A stored program computer like EDSAC or
EDVAC loads the whole program into memory (i.e. stores it) before beginning
execution, which allows jumps etc. within the code sequence. The phrase has
been burdened with many other meanings, but that's the core. 

 

In a section headed "Stored Programs" Isaacson introduces the stored program
idea by writing that "as early as the beginning of 1944, Mauchly and Eckert
realized that there was a good way to make computers more easily
reprogrammable: store the programs inside the computer's memory rather than
load them in every time." In that framework a computer with a hard drive or
ROM is "stored program," but a computer like EDSAC where the program is read
into memory from paper tape before being run would not be.  A separate
statement on the Harvard Mark I also suggests that he imagines that computer
loaded a program from tape rather than executing a individual instructions
from tape: "Even though the paper tape was useful in reprogramming the
computer it was necessary to switch tapes manually every time there was a
call for a subroutine".

 

Best wishes,


Tom

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sigcis.org/pipermail/members-sigcis.org/attachments/20141008/79ce29af/attachment-0001.htm>


More information about the Members mailing list