Jean Sammet

Tom Van Vleck had suggested I contact Jean Sammet. Jean has published extensively on programming languages and their history. (Her book, Programming Languages: History and Fundamentals, has been called the definitive work on early computer language development.)

I eventually found a current email address for her; today she responded that she didn’t know where to find the Fortran source, but suggested I contact Fran Allen and J.A.N. Lee.

David Padua

I ran across an article “The Fortran I Compiler” by David Padua in Computing in Science and Engineering, Volume 2, Number 1, (January/February 2000). It begins, “The Fortran I compiler was the first demonstration that it is possible to automatically generate efficient machine code from high-level languages. It has thus been enormously influential. This article presents a brief description of the techniques used in the Fortran I compiler for the parsing of expressions, loop optimization, and register allocation.”

I contacted David to see if by any chance he knew of someone with a copy of the source code. He didn’t but he and his colleague Sam Midkiff suggested contacting retired IBMers Fran Allen or Marty Hopkins.

Daniel N. Leeson

Daniel N. Leeson’s article “IBM FORTRAN Exhibit and Film” in the FORTRAN’S Twenty-Fifth Anniversary special issue of the Annals of the History of Computing mentions that materials were located in private collections, “two of which are unusually noteworthy”:

Roy Nutt and Harlan Herrick have both made a special effort to retain material from their early days in computing. Nutt possessed a microfilm of (allegedly) every document in the FORTRAN development offices at the time the product was released. He generously donated a copy to the IBM historical archives. Herrick’s collection of memorabilia was also extensive. For example, he owned the only known copy of IBM’s first FORTRAN film, made in Poughkeepsie about 1958, that showed how FORTRAN could be used to program a solution to “The Indian Problem” (a calculation demonstrating the effect of compound interest on the $24 said to have been paid for Manhattan Island).

Using Internet search engines and hints from the article (in 1984, Leeson had worked for IBM General Products Division in San Jose, California), I found Leeson’s phone number and called him today.

He was responsible for assembling both the museum-class exhibit and the film for the 1982 25th anniversary celebration for Fortran. He told me IBM had a facility in Armonk where they archived the last copy of every machine; he thinks it might still exist.

Leeson says he thinks it’s very unlikely that any copies of the source code survive. He speculated that Roy Nutt’s personal collection may have been lost when he died.

Update: On 7 July 2004, shortly after this weblog went public, Micah Nutt read this entry and posted a comment: “As one of Roy Nutt’s four children […] I am in custody of the FORTRAN microfilm; Ruth [Micah’s mother] has many boxes which I have yet to fully organize. Roy died of lung cancer June 14th 1990.”

The Library of Congress

My wife and I had dinner with John Backus tonight. He mentioned that he donated his papers to the Library of Congress. I searched the online catalog, and found the papers listed as not yet processed (LC Control Number: mm2003084968). John gave me a 13-page document listing some 211 items in the donated papers. I was pleased to see item 92: “A Church-Rosser property of closed applicative languages” by Paul McJones (IBM Research Report, 5/23/75).

John also gave me some extra copies of papers and photographs, including a photocopy of a 29-page memo whose front page says:

PRELIMINARY REPORT

Programming Research Group
Applied Science Division
International Business Machines Corporation

November 10, 1954

Specifications for
The IBM Mathematical FORmula TRANslating System,
FORTRAN

Copyright, 1954, by International Business Machines Corporation
590 Madison Avenue, New York, 22, New York

J.A.N. Lee’s annotated bibliography says this was probably written by John W. Backus, Harlan Herrick, and Irving Ziller; he notes, “This is the first formal proposal for the language FORTRAN. It lists the elements of the language that are proposed to be included in the eventual implementation, together with some suggestions for future extensions. It is interesting to match this proposal with the Programmer’s Reference Manual (1957) and to note that many of the ideas of later FORTRANs as well as ALGOL appear to have been given birth in this document.”

FORTRAN’s Twenty-Fifth Anniversary

Today I got my hands on a copy of “FORTRAN’s Twenty-Fifth Anniversary” — a special issue of the Annals of the History of Computing, Volume 6, Number 1 (January 1984). This was originally published by the American Federation of Information Processing Societies (AFIPS), but is now published by the IEEE Computer Society.

This informative issue, edited by J.A.N. Lee and H.S. Tropp, is dedicated to the 1982 National Computer Conference Pioneer Day celebration of the 25th anniversary of Fortran. It contains edited transcripts of two Pioneer Day sessions:

  • Early Days of FORTRAN, chaired by John Backus.
  • Institutionalization of FORTRAN, chaired by Jeanne Adams

It also contains:

  • an introduction by J.A.N. Lee with background on the event, a list of the FORTRAN Pioneers (“members of the original development team and their direct associates, or those who made significant contributions to the language or its usage in the five years following the delivery of the first system”) and implementations of FORTRAN from 1957 to 1967.
  • an article by Daniel N. Leeson on the exhibit and film developed by IBM for this event
  • an annotated bibliography by J.A.N. Lee
  • a collection of anecdotes by Henry S. Tropp
  • a summary of the anniversary observance held at IBM Santa Teresa on July 15, 1982
  • an edited version of Elliott Nohr’s SHARE 59 paper about the early days of FORTRAN

Full versions of papers presented verbally at the Pioneer Day event were also published in the Proceedings of the 1982 NCC; of especial interest is:

Allen, Frances E., “A Technological Review of the FORTRAN I Compiler”, pp. 805-809.

Doug McIlroy

At the suggestion of Tom Van Vleck, I sent Doug McIlroy an email asking if he’d run across the Fortran “Tome” while at Bell Labs in the 1950s. He replied:

I was at MIT when the first Fortran came out, and I don’t recall seeing the source there. When I joined Bell Labs in 1958, we had Fortran II. We had the source; in fact Dolores Leagus had worked with IBM on adapting the compiler to use a full 32K-word memory, and had subjected the compiler to the BESYS operating system (the compiler was a standalone program as it came from IBM). If you can find her (she retired about the same time I did) she might know where to look.

I myself used the Fortran source only after we got the 7094, and I know that had been altered significantly, for it used 709 opcodes that didn’t exist on the 704.

Another document that come with Fortran, which everybody got to know was the “stop book”. The compiler did not issue diagnostics. Instead it halted. The machine operator would record the IC from the console lights. The stop book told what the cause of each stop was, often very cryptically: “trouble in the tag table, or some other cause”. You should try to collect that, too. One of the things Dolores did was to replace the halt instructions by system calls, so the stop could be recorded automatically.

Paul Pierce

Dick Gabriel, another member of the Software Collection Committee at the Computer History Museum, mentioned Paul Pierce’s impressive computer collection, which includes an IBM 709 and an IBM 7094. I decided to send Paul an email asking if he’d run across the IBM 704 source code or the “Tome”. He replied:

I did not end up with a copy of the “Tome”. If you can find someone to really research this, I would start with a list of original IBM 704 customers, from the IBM archives or from Weik’s. I would start with every university to see if anyone knows anyone who was there at the time, who might have kept it.

I do have a lot of fairly early FORTRAN stuff in my collection and will read & scan it all over time and put it up in the library section of my website.

For the Smithsonian what you need to do is travel to D.C. and visit the archives at the American History Museum. Thats where a lot of the computer related ephemera is kept. Definitely worth putting together a list of what they have.

Another very important early bit of software is the MockDonald system, which evolved into SOS, then IBSYS, and was a big influence on OS/360. This is commonly considered the first operating system. I have SOS documentation that I’ve scanned and will put up some time this year, but it would be another good research project to pull together a proper history of it. It might be possible to locate the original source in some of the SHARE tapes I’ve already read or on other tapes I hope to borrow from the same place.

At my request, he explained the reference to Weik:

Martin Weik did several surveys of computers in the early days of computing. I have “A Third Survey of Domestic Electronic Digital Computing Systems”, US Department of Commerce Office of Technical Services, 1961. I’m pretty sure the CHM has one or more of these, as Gwen Bell once mentioned to me that they are full of errors. Find a copy and you will see how it might be useful in guiding this kind of research.

It turns out Ed Thelen has scanned the CHM copy of Weik’s Third Survey; here is the 704 chapter!

I mentioned to Paul, “I had not heard the name MockDonald before. I just did a Google search, and can only find one relevant hit: a 1997 alt.folklore.computers posting by Adam J. Thornton, who was apparently a Princeton graduate student at the time.”

Paul replied:

I had a request quite a while ago for the SOS material from a grad student doing research on the early systems. I’ll find that email and put up the SOS scans so far and email you both when its done.

All the early SHARE software is potentially interesting. SHARE is the IBM user group, the first of its kind. I’ve already found and read one set of SHARE tapes that seem to contain most of the earliest submittals, and I have access to the printed documentation that I will borrow and scan some time in (hopefully) the next year or so. I also have my own poor copy of the printed documentation, its all very old stuff going back to the 704. SHARE seemed to originally only encompass the scientific computer line (704-709-709x…), but I also have some IBM 650 software and documentation (don’t know how extensive that is yet) and the complete program libraries for the Royal McBee LGP-30, RPC-4000(?) and Bendix G-15.

A bit later, Paul added:

I’ve put up the SHARE and SOS scans that I have so far in the library section of my web site – http://www.piercefuller.com/library/index.html
Look for SHARE under Documentation/Abstracts and Writeup.

Bob Bemer

Bob Bemer joined IBM in 1949 and has an interesting web site documenting his long career, including leading the development of FORTRANSIT, the second Fortran compiler, for the IBM 650.

Using Google, I came across Bob Bemer’s Who Was Who in IBM’s Programming Research? — Early FORTRAN Days which reproduced an IBM Programming Research Newsletter from January 1957 with short descriptions of the Fortran team members, including the sentence “Hal [Harold Stern] is currently working on “TOME” describing FORTRAN internally.”

I contacted Bob to see if perhaps he had saved a copy of the “Tome”. Unfortunately, he did not. He went on to say, “Later I took over FORTRAN introductory chores, mainly via Dave Hemmes. I called Hemmes’ s widow today (lives in Sunnyvale), and she said that he personally destroyed all of his historical material before he died about six years ago.”

The ‘Tome’

Tonight after rereading John Backus’s 1981 “History of Fortran I, II, and III” paper and recalling the discussion between Dick Sites and Len Shustek regarding the Fortran documentation Dick had seen in the 1960s, I decided to start asking people specifically about the “Tome” as well as, more generally, “the source code” (which might be in the form of an assembly listing, magnetic tape, or even punched cards).

It’s official

At the monthly Software Collection Committee meeting, it was agreed to include “early Fortran” as one of the first tests for our collection and preservation efforts. I volunteered to lead this activity, and Lee Courtney and Len Shustek also signed up. Lee suggested that since the museum already has a restored IBM 1620 with lots of software, 1620 Fortran might be interesting, and Len suggested Waterloo Fortran. But I exercised my authority as chairperson to stick to the original Fortran, for the IBM 704.

Dick Sites; the ‘Tome’

In a response to Software Collection Committee chairman Bernard L. Peuto’s request for suggestions for “10 software preservation candidates for testing our processes”, Dick Sites mentioned:

I once saw and read part of the original handwritten Fortran I documentation in a basement of the Sloan building at MIT in 1965. Backus might know if any copies still exist.

When Software Collection Committee member and museum chairman Len Shustek asked, “Was what you saw source code, user-manual material, or internal design documents?”, Dick replied:

It was a Xerox copy of hand-written internal design documents. It was in the 1620 mod II room in the basement of the Sloan building on the MIT campus, 100 Memorial Drive circa spring 1966. I have always regretted not having the foresight (and money) to make a complete copy back then. As I remember, it described the overall compiler design and optimizing algorithms. I remember a fairly neat but slightly small handwriting with hand-drawn boxes and arrows for some of the algorithms. I don’t remember whose names were on it.

I’m pretty sure it was Fortran I dated circa 1957, but it could have been Fortran II. It was not describing a 1620 compiler; it just happened to be in that room. I’m not sure whether the document mentioned the target computer, but I recognized it as the IBM 704 or perhaps 709. I don’t have a clear memory of how much paper there was, but it was perhaps 50-150 pages.

Len responded:

I think I may have found what it was: In his “History of Fortran I, II, and III” article in the 10/98 issue of “Annals of Computing History”, Backus says of the April 1957 release, “Shortly after the distribution of the system, we distributed — one copy per installation — what was fondly known as the ‘Tome’, the complete symbolic listing of the entire compiler plus other system and diagnostic information, an 11×15 inch volume about four or five inches thick”. Does that sound right?

I suppose it’s impossible still to be in the basement at Sloan? The good news is that as of April 1958 there were 26 installations of Fortran at 704 sites, and if each if them was given a ‘Tome’, then one or more might have survived. Somewhere.

Dick replied:

No, not right. What I saw was HANDWRITTEN. It was not a computer listing. It was not source code. It was not an IBM manual. It was not computer paper. It was not four or five inches thick. It was not an IBM 704 or 709 installation. It was a Xerox copy (not reduced from larger paper) of handwritten documentation on 8.5×11″ white paper, perhaps 1/2″ thick at most.

Jim King

I was chatting with Jim King at lunch about John Backus and the Fortran compiler (Jim worked at IBM Research for many years). Jim used Fortran (II?) and Fortran Monitor System on an IBM 709 in college in the early 1960s, and had some interesting anecdotes (e.g., the compiler turned on a front panel indicator lamp once it determined there were no syntax errors, …) — I can see that getting oral histories of users/developers will be interesting.

Jim suggested IBM’s SHARE user group library as a potentially interesting source of material. (And perhaps there were similar user groups for a few of the other companies?) Also, he worked for Boeing in Seattle in the 1960s, and said they had an extensive 7090 program library, with detailed requirements for documentation. It could be another interesting source, although he doesn’t have any current contacts into Boeing.

Irv Ziller

Irv Ziller, who was the first person to join John Backus on the Fortran team, responded to my inquiry regarding the source code for the original Fortran compiler by saying, “I do not have the source code, however I recall material being sent to the Smithsonian to become part of their collection.”

John Backus

John Backus initiated and led the project that designed and implemented Fortran, the first high-level programming language.

I hadn’t talked to John for many years*, but tonight I called him up to say hello, and to see if he had a copy of the original Fortran compiler source code. He didn’t but suggested I contact Irv Ziller, who was the first person to join John’s Fortran project.

* In 1974 I worked for John Backus at IBM San Jose Research (before the Almaden Research Center was built) .