the look-ahead unit was a phenomenal
piece of hardware.
how many copies of Stretch were built?
Eight or nine. The original was built
for Los Alamos and shipped late. Then
they discovered its performance was
about half of what was intended.
But still, 50 times…
Meanwhile, the underlying technology had changed. T.J. Watson got up
at the Spring Joint Computer Conference and announced they would not
build any more Stretch machines, and
apologized to the world about our failure. But it was recognized later that
the technology developed in building
Stretch made a huge difference for
subsequent machines, particularly the
360. A lot of people went from Stretch
to the 360, including Fred Brooks.
what was your connection with
My role was on the compiler. When I
joined IBM in 1957, I had a master’s degree in mathematics from the University of Michigan, where I had gone to get a
teaching certificate to teach high school
math. But I had worked on an IBM 650
there, so I was hired by IBM Research as
a programmer. My first assignment was
to teach FOR TRAN, which had come out
in the spring of that year.
Did you already know foRtRaN, or
were you learning it a week ahead, as
professors often do?
Yeah, a week ahead [laughs]. They
had to get their scientists and researchers to use it if they were going to convince
it was recognized later
that the technology
developed in building
stretch made a
customers. I had a pretty unhappy class,
because they knew they could do better
than any high-level language could.
Did you win them over?
Yes—and won myself over. John
Backus, who led the FORTRAN project,
had set two goals from the beginning:
programmer productivity and application performance. I learned all about the
compiler as part of teaching this course.
Did you ever work on that compiler
I was reading the code in order to
do the training. It set the way I thought
about compilers. It had a parser, then
an optimizer, then a register allocator.
The optimizer identified loops, and
they built control flow graphs.
The Stretch group recognized that
the compiler was going to be an essential part of that system. A bunch of
us in research were drafted to work on
it. The National Security Agency [NSA]
had a contract with IBM to build an
add-on to Stretch, for code-breaking.
Stretch would host the code-breaking
component, and there was a large tape
device, tractor tape, for holding massive amounts of data.
this was Stretch harvest?
Yes. There was going to be one compiler for Stretch Harvest that would
take FORTRAN, and the language I was
working on with NSA for code-breaking, called Alpha, and also Autocoder,
which was similar to COBOL.
a single compiler framework to en-
compass all three languages?
Yes, three parsers going to a high-level intermediate language, then an
optimizer, then the register allocator.
It was an extraordinarily ambitious
compiler for the time, when even hash
tables were not yet well understood.
One compiler, three source languages, targeted to two machines, Stretch
and Harvest. In addition to managing
the optimizer group, I was responsible
for working with the NSA on designing
Alpha. I was the bridge between the
NSA team, which knew the problem…
and never wanted to tell you complete-
ly what the problem is.
They told me not at all, but it didn’t
matter. I was pretty clueless about ev-
erything down there, and on purpose.
“NSA” was not a term that was known.
While I was on the project, two guys
went to Moscow, just left, and it hit
the New York Times, and that’s when I
learned what it was about. It was a very
carefully guarded activity. The problem
was basically searching for identifiers
in vast streams of data and looking for
relationships, identifying k-graphs and
doing statistical analysis. Any single
Harvest instruction could run for days,
and be self-modifying.
what did you do next?
John Cocke was enamored with
building the fastest machine in the
world, and Stretch had been an announced public failure. When I finished with Harvest, Stretch was already done. I could have gone and
worked on the 360. I didn’t particularly want to do that; it was a huge
project spread around the world.
John wanted to take another crack at
building the fastest machine in the
world, so I joined him on a project
called System Y. This time the compiler was built first. Dick Goldberg
was the manager and did the parser, I
did the optimizer, and Jim Beatty did
the register allocator. We had a very
nice cycle-level timing simulator. We
built what was called the Experimental Compiling System.
what became of System Y?
It changed into ACS [Advanced
Computing System], which was even-