CAL Timesharing System: Before computers were personal

In 2023 computers are all around us: our phones, tablets, laptops, and desktops, and lurking inside our television sets, appliances, automobiles, to say nothing of our workplaces and the internet. It wasn’t always that way: I was born in 1949, just as the first stored-program digital computers were going into operation. Those computers were big, filling a room, and difficult to use. Initially a user would sign up for a block of time to test and run a program that had been written and punched into paper tape or 80-column cards.cThe fact that an expensive computer sat idle while the user was thinking or mounting tapes seemed wasteful, so people designed batch operating systems that would run programs one after the other, with a trained operator mounting tapes just before they were needed. The users submitted their card decks and waited in their offices until their programs had run and the listings had been printed. While this was more efficient, there was a demand for computers that operated in “real time”, interacting with people and other equipment. MIT’s Whirlwind, TX-0, and TX-2 and Wes Clark’s LINC are examples.

The ability to interact directly with a computer via a terminal (especially when a display was available) was compelling, and computers were becoming much faster, which led to the idea of timesharing: making the computer divide its attention among a set of users, each with a terminal. Ideally the computer would have enough memory and speed so each user would get good service. Early timesharing projects included CTSS at MIT, DTSS at Dartmouth, and Project Genie at Berkeley. By 1966, Berkeley (that is, the University of California at Berkeley) decided to replace its IBM batch system with a larger computer that would provide interactive (time-shared) service as well as batch computing. None of the large commercial computers came with a timesharing system, so Berkeley decided they would build their own. The story of that project—from conception, through funding, design, implementation, (brief) usage, to termination—is told here:

  • Paul McJones and Dave Redell. History of the CAL Timesharing System. IEEE Annals of the History of Computing, Vol. 45, No. 3 (July-September 2023). IEEE Xplore (Open access)

How did I come to write that paper? In the winter of 1968-1969 I was invited to join the timesharing project. At that time I had about 2 years of programming experience gained in classes and on-the-job experience during high school and college (Berkeley). That wasn’t much, but it included one good-sized project—a Snobol4 implementation with Charles Simonyi—so the team welcomed me to the project. For the next three years I helped build the CAL Timesharing System, performed some maintenance on the Snobol4 system, and finished my bachelor’s degree. In December 1971, CAL TSS development was canceled, and I graduated and moved on to the CRMS APL project elsewhere on campus.

Those three years were hectic but immensely enjoyable. The team was small, with under a dozen people, housed first in an old apartment on Channing Way and then in the brand-new Evans Hall. Lifelong friendships were formed. People often worked into the night, when the computer was available, and then trooped over to a nearby hamburger joint for a late meal. Exciting things were going on around us. There were protests, the Vietnam War, and the first moon landings. Rock music seemed fresh and exciting. I had met my future wife in 1968, and we were married in 1970.

As CAL TSS came to an end, we all agreed the experience could never be equalled. But we didn’t realize people in the  future would be interested in studying our system, so we weren’t careful about preserving the magnetic tapes. However many of us kept manuals, design documents, and listings, plus a few tapes. In 1980 and again in 1991 we had reunions and I offered to store everything until it became clear what to do for the long run. Around 2003 I started scanning the materials and organizing a web site. In 2022  the Computer History Museum agreed to accept the physical artifacts, and this year they agreed to host the web site:

Liz Bond Crews; Desktop Publishing Meeting

May 2017 Desktop Publishing Pioneers meeting, Computer History Museum. Liz Bond Crews is third from left in the front row. © Douglas Fairbairn Photography; courtesy of the Computer History Museum

On May 22 and 23, 2017, the Computer History Museum held a two-day meeting with more than 15 pioneering participants involved in the creation of the desktop publishing industry. There were a series of moderated group sessions and one-on-one oral histories of some of the participants, all of which were video recorded and transcribed.

Building on this meeting, three special issues of the IEEE Annals of the History of Computing were published, telling the stories of people, technologies, companies, and industries — far too much for me to cover here, so I will provide these links:

Last but not least, I had the pleasure of interviewing Liz Bond Crews, who worked first at Xerox and then Adobe to forge relationships and understanding between the purveyors of new technology (laser printers and PostScript) and the type designers, typographers, and designers who adopted that technology. An edited version of that interview appears in the third special issue of Annals:

Lowell Hawkinson, 1943 – 2018

Lowell Hawkinson passed away at the age of 74 on December 28, 2017 as a result of an accident. Lowell was a pioneer in LISP implementation and artificial intelligence. He co-founded Gensym Corporation in 1986 and served as its CEO through 2006. This obituary gives more details of his life and accomplishments.

I first got in touch with Lowell in 2010 because of my interest in archiving LISP history. We exchanged emails (and had one phone conversation), and over the years I wrote several blog posts and a journal article about work involving him:

Although my interactions with Lowell were brief, his kindness and modesty were manifest. He will be deeply missed by his family and friends.

Oral history of Bjarne Stroustrup

Update 5/14/2015: Here is a short video that was made for the Fellow Award Ceremony.

Update 4/9/2015: A video of the interview is now available. It’s searchable via the synchronized transcript.

In February I had the honor of conducting an oral history of Bjarne Stroustrup for the Computer History Museum, on the occasion of his being one of three 2015 Fellow Awards Honorees (the other two being Evelyn Berezin and Charles Bachman).

Programming languages have emerged over the last fifty or so years as one of the most important tools allowing humans to convert computers from theoretical curiosities to the foundation of a new era. By inventing C++ and working tirelessly to evolve, implement, standardize, and propagate it, Bjarne has provided a foundation for software development across the gamut from systems to applications, embedded to desktop to server, commercial to scientific, across CPUs and operating systems.

C was the first systems programming language to successfully abstract the machine model of modern computers. It contained a simple but expressive set of built-in types and structuring methods (structs, arrays, and pointers) allowing efficient access to both the processor and the memory. C++ preserves C’s core model, but adds abstraction mechanisms allowing programmers to maintain efficiency and control while extending the set of types and structures.

While several of the individual ideas in C++ occurred in earlier research or programming languages, Bjarne has synthesized them into an industrial-strength language, making them available to production programmers in an coherent language. These ideas include type safety, abstract data types, inheritance, parametric polymorphism, exception handling, and more.

In addition to its synthesis of earlier paradigms, C++ pioneered a thorough and robust implementation of templates and overloading. This has enabled the field of generic programming to advance from early research to sufficient maturity for inclusion in the C++ standard library in the form of STL. Additional generic libraries for graphs, matrix algebra, image processing, and other areas are available from other sources such as Boost.

By combining efficiency and powerful abstraction mechanisms in a single language, and by achieving ubiquity across machines and operating systems, C++ has replaced a variety of more specialized languages such as C, Ada, Smalltalk, and even Fortran. Programmers need to learn fewer languages; platform providers need to invest in fewer compilers. Even newer languages such as Java and C# are clearly influenced by the design of C++.

C++ has been the major focus of Bjarne’s career, and he has had unprecedented success at incremental development of C++, keeping it stable enough for use by real programmers while gradually evolving the language to serve the broadest possible audience. As he evolved the language, Bjarne took on many additional roles in order to make C++ successful: author (books, papers, articles, lectures, and more), teacher, standardization leader, and marketing person.

Bjarne started working on C with Classes, a C++ precursor, in 1979; the first commercial release of C++ was in 1985; the first standard was in 1998, and a major revision was completed in 2011. C++ was mature enough by 1993 to be included in the second History of Programming Languages conference, and a follow-on paper focusing on standardization appeared in the third HOPL conference in 2007.

I hope you enjoy reading the oral history as much as I did interviewing Bjarne.

See also: C++ Historical Sources Archive, Dusty Decks, 11 June 2007.

Update 1/30/2016: Updated URL for C from http://cm.bell-labs.com/cm/cs/cbook/index.html to https://9p.io/cm/cs/cbook/index.html.

Remembering Jim Gray

Jim Gray’s professional contributions to the theory and practice of transactions, databases, and scientific applications of large databases, coupled with his teaching, mentoring, and warm friendships made a tremendous impact on the world. When he failed to return from sailing his 40-foot sloop Tenacious around the Farallon Islands on January 28, 2007, it was a devastating blow to family, friends, and colleagues alike. Despite a series of extremely thorough searches by the Coast Guard, by his friends, and by his family, no trace of him or his boat were ever found, which meant he could not be declared legally dead at that time. The ambiguous loss suffered by his wife and family meant his disappearance was especially difficult to recover from. After the legally-mandated five-year waiting period, a court recently granted a petition by his wife Donna Carnes to have Jim declared dead as of January 28, 2012. As Donna indicates in this NY Times interview, the waiting followed by the court order have led to a sense of closure for her.

I recently wrote a summary of Jim’s life and career for the updated ACM Turing Award web site; it includes links to related articles from the 2008 Tribute held for him at U.C. Berkeley and also photographs supplied by Donna.

 

Jim Gray with former colleagues of the CAL Timesharing project at U.C. Berkeley, Golden Gate Park, April 1974
Here I’ll note a few of my personal memories of working with Jim, who I met at the University of California in the late 1960s, when he was a computer science graduate student, and I was an engineering undergraduate and part-time employee of the campus computer center. Jim served as an informal advisor to me on course work, and he was also my manager for a time on the CAL Timesharing System project. Jim was a knowledgeable, patient and enthusiastic advisor. There were few boundaries between Jim’s professional and social life. I will never forget going walnut picking with Jim, who stood on the roof of his VW bus to reach the walnuts, and then easily repaired the dent in the roof by pushing upward from below.

 

Franco Putzolu, Jim Gray, and Irv Traiger at IBM San Jose Research, circa 1977
Jim and I worked together again a few years later at IBM San Jose Research (now IBM Almaden). After working with John Backus (whom Jim had introduced me to) on functional programming for about 15 months, I joined Jim on the System R team. By then Jim was well into his work on the transaction abstraction — creating a unified approach to the interrelated problems of concurrency control and crash recovery — which led to his 1998 ACM Turing Award. I took over some of the transaction management code, designed the crash recovery component, and wrote a multiprocess debugger which we used to test and debug the lock manager. As always, Jim was an enthusiastic and generous collaborator; I’m very proud of being a coauthor with him and six of our System R colleagues of the paper “The Recovery Manager of the System R Database Manager”.

I don’t suppose I’ll ever stop encountering subjects causing me to say to myself, “If only I could talk to Jim about this.”

Robert L. Patrick on eMuseums

Bob Patrick is a friend of mine who entered the computer field in 1951, and whose hands-on experience running programs on an IBM 701 led him to conceive of the architecture for the General Motors/North American Monitor for the IBM 704 computer. (Bob described this work in a 1987 National Computer Conference paper. Other aspects of his extensive career are discussed in his recent Annals of the History of Computing paper and in a 2006 Oral History.)

For a number of years Bob has been involved in volunteer activities at the Computer History Museum, and recently he organized his thoughts on how museums can use the web to present technology, in the form of this article: “Museums in the Computer Age: meeting the challenge of technology“. Bob invites comments on the article via email at bobpatrick@mac.com.

Don Chamberlin and the origin of SQL

Tonight Don Chamberlin will receive a 2009 Fellow Award of the Computer History Museum “for his fundamental work on structured query language (SQL) and database architectures”. The other awardees for 2009 are Robert R. Everett (M.I.T. Whirlwind and SAGE) and Federico Faggin, Marcian (Ted) Hoff, Stanley Mazor and Masatoshi Shima (Intel 4004).

In a recent oral history I conducted for the Computer History Museum, Don put into context his work designing SQL in collaboration with Ray Boyce. Don described the pre-relational database management systems, Ted Codd’s development of the relational model, various implementation projects at IBM culminating in System R, which was the first RDBMS to support SQL. Don went on to describe other pioneering relational systems, including Ingres and Oracle. He also described his subsequent work on text processing, DB/2, and XQuery.

For further historical information about Don and his work, see:

2023/02/28: updated URLs for 2009 CHM Fellow Awards and SRC-TN-1997-18
2018/04/21: updated URL at Charles Babbage Institute

Bob Taylor recognized by The University of Texas

Last month, Bob Taylor (the subject of a recent oral history) was recognized by The University of Texas. Bob received the Graduate School Outstanding Alumnus Award, a $100,000 Presidential Endowed Fellowship was established in his name, and he gave the first in a series of lectures in the UT Graduate School’s Centential celebration. Since this is also the 40th anniversary of the first tests of the ARPAnet, it was a fitting time for Bob’s achievements to be honored.

The lecture was in the form of an interview by New York Times technology reporter John Markoff, who noted:

The Internet has many fathers, but few deserve the label more than Robert W. Taylor.

Authors M. Mitchell Waldrop (The Dream Machine) and Michael A. Hiltzik (Dealers of Lightning: Xerox PARC and the Dawn of the Computer Age) shared their views as well. J Strother Moore and Gary Chapman (who each worked with Bob in the past and now have UT positions) served as masters of ceremony.

The announcement for the lecture includes links to news stories about Bob, as well as the famous 1968 paper by Licklider and Taylor, “The Computer as a Communication Device”. The recap of the lecture includes links to a video and photographs.

Oral history of Robert W. Taylor

Robert W. Taylor directed external research at NASA, where he funded early work by Douglas Engelbart, and at the ARPA IPTO, where he initiated the ARPANET project. He also founded the Xerox PARC Computer Science Laboratory and later the DEC Systems Research Center. Last fall I interviewed him for the Computer History Museum‘s Oral History Collection. The transcript, based on two afternoons of interviewing captured on six videotapes, has been edited and is now online: catalog entry; transcript (PDF).

Here are summaries of the contents (corresponding to the six videotapes):

  1. Taylor’s childhood, education, military service in the US Navy during the Korean War, and his first positions after graduating from college: teaching at a prep school in Florida, and systems engineering at The Martin Company in Orlando, Florida; managing research at NASA and at ARPA IPTO.
  2. The ARPANET project, the founding of the graphics work at the University of Utah; his own brief stay at the University of Utah; the founding and early history of the Xerox PARC Computer Science Laboratory (CSL); Xerox’s purchase of Scientific Data Systems (SDS), and CSL’s MAXC, Alto, and EARS projects.
  3. More on the Alto system and what it influenced (including TCP/IP); the Future Day held by PARC for Xerox executives; the Dorado project.
  4. His departure from Xerox; the founding of the DEC Systems Research Center (SRC); the Firefly, Alpha Demonstration Unit, Autonet, AN2, and Petal projects; the founding of the DEC Paris Research Laboratory and its collaboration with SRC; the nearby DEC Western Research Laboratory (WRL) and its Titan project; a recap of the commercialization of Ethernet.
  5. Wes Clark, his TX-2 work, his LINC work, and his suggestion of decentralizing control for the ARPANET via a small computer (IMP) at every host; Taylor’s work in Vietnam at the end of his ARPA tenure; his approach to research management, including recruiting, interviewing, and performance appraisals.
  6. More on research management: informal celebrations, and the importance of a college intern program; reminiscences about people who worked at Xerox PARC CSL or DEC SRC or both.

Remembering John Backus

As an undergraduate at the University of California at Berkeley in the late 1960s, I first learned of John Backus and his work on Fortran, BNF, and Algol. Around 1972 or 1973 I attended a talk John gave on “variable-free programming” at Berkeley. I was fascinated by programming languages (having worked on implementations of Snobol4, APL, and Lisp by that time), so I obtained and read a copy of his report “Reduction Languages and Variable-Free Programming”. In mid 1973 he mailed out a preprint of his POPL paper “Programming Language Semantics and Closed Applicative Languages“, whose margins I filled with notes.

In early 1974 I was looking for a job. My friend Jim Gray, who was then working at IBM Research in San Jose, introduced me to John, who was looking for someone to work with him on the design of his Red language and to implement an interpreter. We seemed to hit it off, and in March I accepted his employment offer. John mostly worked out of his home in San Franscisco. We discussed the possibility of locating my office in IBM’s Palo Alto Science Center, but I wound up joining the staff of IBM Research in San Jose, which was then located in the triangular Building 28 of the IBM Cottle Road Campus. John began driving down to San Jose once or twice a week in his diesel Mercedes. The only place in the area he could refuel was a truck stop in North San Jose. IBM colleagues told me I’d had an immediate positive impact: they now saw John much more than before.

For the next 15 months or so, I worked with John, discussing language features, writing various prototypes in Lisp and McG (an ISWIM-like language by W.H. Burge), reading papers on programming language semantics, and writing a report “A Church-Rosser Property of Closed Applicative Languages” that showed the operational semantics for Backus’s Red language was well-defined.

John was an inspiring person to work for and with. Despite his accomplishments (inventor of Fortran and BNF; Algol contributor; IBM Fellow) and the age difference (he started work at IBM the year after I was born), he treated me like he treated everyone: as a respected colleague. I had many suggestions for changing and extending Red, and John gave them all his complete attention. At that time, John was interested in pure functional programming, with no side-effects on storage or the external world. I advocated extending the language to allow writing complete interactive applications. John conceded the importance of this, and came up with a scheme in which one would write a function to express the complete transformation of an application on the global state. I struggled with John’s variable free style, and suggested we allow lambda variables when defining a new functional form (higher-order function), but he stuck to his guns. Gradually, I came to the conclusion that it was still too early to build a full implementation of Red, and I began spending more time talking to the System R team down the hall, who were designing one of the first relational database managers, and inventing the SQL query language and formalizing atomic transactions along the way.

John rarely wanted to talk about himself, but when asked he had interesting stories to tell. When he first joined IBM, he programmed the Selective Sequence Electronic Calculator (SSEC), a huge electromechanical machine whose programs and data were punched into a paper tape the width of regular 80-column punched cards, but many feet long. By gluing a data tape into a loop, it could be traversed multiple times. John recalled having to debug a program that would go through cycles of correct and incorrect behavior. Eventually they realized that the tape had a half-twist when it was glued into a loop, converting it into a one-sided Möbius strip.

John’s 25th service anniversary at IBM was in 1975. A recognition luncheon was planned in San Jose (at the IBM Country Club, or customer conference center), and John was asked who he’d like to attend. He named several of his current San Jose colleagues (I was honored to be included), as well as his old colleagues from the 1950s, including people from the Fortran project. The person arranging the event said, “But these people are in New York…”, and then came up with the travel expenses.

Cordial relations with John were not restricted to working hours. He and his wife Barbara invited my wife and me to dinner at their home, which turned out to be near the base of the Sutro Tower, with a beautiful view looking north from the Golden Gate bridge to the east bay. John said the only disadvantage of the location was RF interference to his stereo from the television transmitters. To combat this, he’d designed a Faraday cage by lining his equipment closet with aluminum foil. We invited John and Barbara back to our modest rental in San Jose, and they graciously accepted.

When I started at IBM, Nixon was still in office. John’s distaste for Nixon was no secret to his friends at the time. He learned he was one of seven people singled out to receive a “Presidential Prize for Innovation”, but then the plans were dropped. John later wrote that he “had been secretly planning to use the occasion to denounce Nixon and the Vietnam war. … I guess now my plan was not a gentlemanly scheme, but anyway I was relieved when the plan fell through.”

I stayed at IBM until November 1976, working on the System R recovery manager with Jim Gray, and then moved on to another job. A while later, I ran into John waiting in line for one of the West Coast Computer Faires — probably the first one, in 1977 in San Francisco. John told me he’d sent a deposit on an interesting computer called the MicroMind, from an outfit in Cambridge, MA, called ECD Corp. He was beginning to be skeptical that he would ever get a computer or his money back. I recently heard from Olin Sibert that ECD couldn’t build the machines cheaply enough, and returned all the deposits.

In 1977 John received the ACM Turing Award for “profound, influential, and lasting contributions to the design of practical high-level programming systems, notably through his work on Fortran, and for seminal publication of formal procedures for the specifications of programming languages.” John’s Turing Lecture, “Can Programming Be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs” was devoted to his functional programming work, and had a large impact on the growth of a branch of academic computer science studying functional programming languages. John continued to work on functional programming until he retired in 1991.

I fell out of touch with John for many years. But in 2003, an effort I became involved with at the Computer History Museum to collect and preserve historic source code led me to get in touch with John regarding the original Fortran compiler. John was still living in the same house in San Francisco, and seemed pleased to hear from me. He didn’t have any source code, but did make several suggestions; eventually I found several versions of the IBM 704 FORTRAN II compiler source code.

Around this same time, I learned that John’s idea of an algebra of programs had had a big impact on my colleague Alex Stepanov (although Alex figured out how to apply this idea while extending the “von Neumann style” in an important way). At the time, Alex and I were organizing an internal technical conference for our employer, and we invited John to give a keynote speech. Just after he graciously accepted, his wife Barbara died; understandably he canceled the speech. John decided to move to Ashland, Oregon, to be near one of his daughters. Another colleague of mine, Dick Sweet, lives in Ashland and introduced John to a new circle of friends for what turned out to be his final years.

Although many people contributed to the early development of programming languages, John Backus deserves credit for creating the first successful higher-level programming language, Fortran. Fortran provided data types (integer and floating-point numbers), a powerful data structure (the array), expressions, statements, and abstraction mechanisms (functions and subroutines). The Fortran compiler generated optimized code taking advantage of the then brand new index registers and floating-point hardware of the IBM 704. Finally, the Fortran system provided a linking loader, a subroutine library, and I/O routines. The scientific and engineering users adopted it instantly, and it became the standard against which future programming language designs were compared.

Why was John’s contribution so important? He invented a language allowing one to express numeric algorithms in a way that was abstracted from irrelevant details of particular computers but that was efficiently implementable on a broad class of computers: from the vacuum tube IBM 704 of 1954 to the fastest supercomputer of 2007 and beyond. That idea, allowing the essential details of algorithms and data structures to be expressed in an abstract and yet efficient way, is at the heart of what programming language designers have been trying to accomplish for the last 50 years. Only a handful of them have made the kind of progress John Backus and his team did.

[Edited 10 May 2014: community.computerhistory.org/scc => www.softwarepreservation.org; 2 Jan 2016: changed link for “Building 28” and John’s Turing Lecture; 25 September 2021: changed link for “Building 28” again.]

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.

Tom Van Vleck

Tom Van Vleck and I met at Tandem in 1981. Tom is the creator and maintainer of multicians.org, which “presents the story of the Multics operating system for people interested in the system’s history”. Since Tom was at MIT in the 1960s, I thought he might have heard of the “Tome”, so I sent him an email. He hadn’t heard of it, but he suggested several leads for me to follow: Jean Sammet, Lynn Wheeler , the IBM folks I’d worked with in the 1970s, Doug McIlroy (“Bell Labs probably got a copy and may even know where in the Labs it was”), and Frank da Cruz, who maintains Columbia University Computing History (for example, see John Backus).

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.”

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.

The Smithsonian

Based on Irv Ziller’s recollection that historic Fortran materials had been sent to the Smithsonian Institution, I looked at their web site and found this page describing the Division of Information Technology & Society, which is part of the National Museum of American History and whose collections include the Computer History Collection. My attempts to establish communication with the staff of this Division got off to a slow start. Later, I learned that they were consumed with the creation of a major new exhibition, “The Price of Freedom”, to open November 11, 2004.

Update 1/2/2016: Updated Smithsonian URLs.

Software Collection Committee

The first meeting of the Software Collection Committee of the Computer History Museum was held November 19th. The purpose of the committee is to help the museum, whose mission statement is “To preserve and present for posterity the artifacts and stories of the information age”, bootstrap its software activities. Expected activities include establishing standards for categorization, preservation, etc., testing these standards on some representative software, establishing priorities for software to collect, etc. The committee was launched partly as a response to a workshop on Preserving Classic Software moderated by Grady Booch and held October 16-17.

The discussion of what software would be worth collecting first was quite interesting — people proposed various criteria, but clearly age and historical significance are key. At this meeting, or shortly thereafter, I began thinking about the first Fortran compiler, and my friend Alex Stepanov reinforced this interest. Fortran was arguably the first higher-level programming language, and its compiler was the first optimizing compiler.