Skip to content

Software Collection Committee

Sections
Personal tools
You are here: Home » SCC Projects » FORTRAN and FORTRAN II

History of FORTRAN and FORTRAN II

Document Actions

Paul McJones, editor
paul@mcjones.org
http://www.mcjones.org/dustydecks/

Last updated August 7, 2005.

Abstract

The goal of this project is to locate source code, design documents, and other materials concerning the original IBM 704 FORTRAN compiler. FORTRAN was chosen because it was the first high-level programming language and the first high-quality optimizing compiler. This is a pilot project of the Computer History Museum's Software Collection Committee to develop expertise in the collection, preservation, and presentation of historic software. Comments, suggestions, and donations of additional materials are greatly appreciated.

Contents

Acknowledgements

  • Bob Abeles, Allison Akbay, Fran Allen, Bob Ayers, John Backus, John T. Bagwell Jr., Bob Bemer, Leonard Bruno, Sharon Brunzel, Peter Capek, Alicia Cutler, Frank da Cruz, John Van Gardner, Mark Halpern, Dennis E. Hamilton, Leif Harcke, Norm Hardy, Bob Hughes, Peter Zilahy Ingerman, Paula Jabloner, Jim King, Al Kossow, Paul Lasewicz, J.A.N. Lee, Daniel N. Leeson, Doug McIlroy, George A. Michael, Anel Rodriguez Muller, David Padua, Paul Pierce, Dave Pitts, Micah Nutt, Bernard L. Peuto, Roger Roach, Jean Sammet, Len Shustek, Dick Sites, Dag Spicer, Rob Storey, Kirsten Tashev, Tom Van Vleck, Michael R. Williams, Irving Ziller.

Source code

  • FORTRAN II compiler source listing at the Smithsonian. Originally donated by Peter Z. Ingerman. CHM has requested an intermuseum loan.
    • Cover letter from Alicia Cutler to Paul McJones, July 8, 2004. Cover letter from A.L. Harmon to Peter Zilahy Ingerman, May 13, 1959. Representative pages from listing, starting with "704 FORTRAN II TABLE OF CONTENTS FOR 4K-8K VERSION : SAP LISTINGS OF THE 4K AND 8K DRUM VERSIONS". PDF
    • For details about how this listing was discovered, see these Dusty Decks articles: The Smithsonian, The Smithsonian redux, and As you sow so shall you reap.
  • Microfiche with "specifications, flowcharts, mathematical analysis and source code for FORTRAN". Two sets, each consisting of 23 microfiche of size 5.8"x4.1" (14.7cm x 10.5cm), each microfiche containing 50 images of size .51"x.58" (1.3cm x 1.5cm). Property of the family of Roy Nutt; Roy's son Micah loaned us one set, which Al Kossow is currently scanning.
  • 32K 709/7090 FORTRAN II in executable and source form, in 7-track IBSYS distribution. Digitized by Paul Pierce.
    • For an image of the original BCD-encoded 7-track magnetic tape digitized by Pierce, see: pr130-3.bcd
    • For an ASCII transliteration, see the FORTRAN subdirectory of the archive prepared by Dave Pitts: ibsys.tar.gz at www.cozx.com ibsys.tar.gz at www.bitsavers.org

      Here are the individual components; for the compiler proper, see 9F13 through 9F30:

      • FORTRAN COMMON I/O PACKAGE - IOEX VERSION. 9F00
      • FORTRAN II MONITOR - TAPE POSITIONING RECORD. 9F01
      • FORTRAN II MONITOR - DUMP RECORD. 9F02
      • 32K 709/7090 FORTRAN MONITOR - SIGN-ON RECORD. 9F03
      • 32K 709/7090 FORTRAN ASSEMBLY PROGRAM - MACRO-FAP. 9F04
      • 32K 709/7090 FORTRAN MONITOR - SCAN. 9F06
      • 32K 709/7090 FORTRAN MONITOR - DEBUG, BSS CONTROL AND LIBRARY SEARCH. 9F07
      • 32K 709/7090 FORTRAN MONITOR - MACHINE ERROR RECORD. 9F10
      • 32K 709/7090 FORTRAN MONITOR - SOURCE ERROR RECORD. 9F11
      • 32K 709/7090 FORTRAN MONITOR - DUMMY RECORD (RECORD 12). 9F12
      • 32K 709/7090 FORTRAN - SECTION ONE, ONE PRIME, ONE DOUBLE PRIME (RECORDS 13-17). 9F13
      • 32K 709/7090 FORTRAN - SECTION TWO. 9F18
      • 32K 709/7090 FORTRAN - SECTION THREE. 9F22
      • 32K 709/7090 FORTRAN - SECTIONS FOUR AND FIVE. 9F23
      • 32K 709/7090 FORTRAN - SECTION SIX. 9F30
      • 32K 709/7090 FORTRAN MONITOR - DEBUG, BSS CONTROL AND LIBRARY SEARCH. 9F32
      • IBSFAP VERSION 3/FORTRAN IBSFAP MODE LOADER. IBSFAP
    • For details about how these tape images were discovered and progress executing them on a simulator, see these Dusty Decks articles: Fortran II source in Paul Pierce's collection and Dave Pitts is making progress running Fortran II.
  • FORTRAN II compiler source listing belonging to John T. Bagwell Jr. This version was modified to use 7 index registers and ran under the 7090/7094 Porthos operating system at the University of Illinois 7090/94. Porthos was derived from the University of Michigan operating system and supported a hard disk.
  • John Van Gardner, who was an IBM Customer Engineer at Lockheed Aircraft in Marietta, Georgia, when FORTRAN was shipped in April 1957 notes that they were able to obtain a source listing of the compiler on 35mm microfilm in order to debug a hardware problem. Norm Hardy, who was at Livermore, has also mentioned the microfilm images of listings distributed by IBM.  See Memoirs and user stories below. [Personal communication from John Van Gardner to Paul McJones, May 2005.]
  • Matrix Inversion Order 5. FORTRAN source program, generated assembly program, output from program execution, compiler listing summary page. Computer History Museum, McPherson Box 15, Programming Presentation Papers folder.  Approx. 1958? PDF

Bibliographies

  • Nelson H. F. Beebe. Bibliography on Fortran. Department of Mathematics, University of Utah, version 1.44, April 12, 2005.  Part 1: 1956-1980. HTML Part 2: 1981-1989. HTML Part 3: 1991-date. HTML
  • J.A.N. Lee. An Annotated FORTRAN Bibliography. Annals of the History of Computing, Volume 6, Number 1, January 1984, pages 49-58. IEEE Digital Library

Documentation

Author names in [brackets] are not listed in the document itself, but are "as remembered" according to Lee 1984.

  • [J.W. Backus, H. Herrick and I. Ziller.] Preliminary Report : Specifications for the IBM Mathematical FORmula TRANSlating System, FORTRAN. Programming Research Group, Applied Science Division, International Business Machines Corporation, November 10, 1954, 29 pages.
    • Copy 1: Photocopy with "Property of Jean Sammet" and "Original Copy" on first page; missing page numbered 12. Given to Paul McJones by John Backus. PDF
    • Copy 2: Computer History Museum Lot X2677.2004, Box 3 of 6, black 3-inch binder. Donated by J.A.N. Lee. PDF

    "This is the first formal proposal for the language FORTRAN and lists the elements of the language which 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 published in 1957 (below) and to note that many of the ideas of later FORTRANs as well as ALGOL appear to have been given birth in this document." [Lee 1984]

    "The FORTRAN 0 document represents the first attempt to define the syntax of a programming language rigorously. Backus's important notation, which eventually became `BNF' can be seen in embryonic form here." [Knuth and Trabb Pardo 1977]

  • Anonymous. IBM 704 Electronic Data Processing Machine Manual of Operation. IBM Corporation, 1954-1955, Form 24-6661-2. PDF at bitsavers.org
    This manual describes the machine on which FORTRAN ran: a memory of 4096, 8192, or 32768 words of 36 bits each; a register complement including an accumulator, a multiplier-quotient, and 3 index registers; integer and floating-point arithmetic; and programmed I/O (no I/O channels or interrupts) with magnetic tape units, magnetic drums, punched card readers and punches, and line printers.
  • J.W. Backus, R.J. Beeber, S. Best, R. Goldberg, H.L. Herrick, R.A. Hughes, L.B. Mitchell, R.A. Nelson, R. Nutt, D. Sayre, P.B. Sheridan, H. Stern, I. Ziller. The FORTRAN Automatic Coding System for the IBM 704 EDPM : Programmer's Reference Manual. Applied Science Division and Programming Research Department, International Business Machines Corporation, October 15, 1956, 52 pages. PDF PDF at bitsavers.org
  • Anonymous. Addenda to the FORTRAN Programmer's Reference Manual. Reproduced typescript, ??? pages.  Computer History Museum lot number X3143.2005, donated by Dick Sites. Part of Lot 58 of The Origins of Cyberspace auction, Christie's, February 23, 2005.

    "For 'late 1956' read 'early 1957'." Describes function statements. [More???]

  • [Grace E. Mitchell?] FORTRAN Introductory Programmer's Manual. Programming Research Department, International Business Machines Corporation, 590 Madison Avenue, New York, New York. Reproduced typescript.  Computer History Museum lot number X3143.2005, donated by Dick Sites. Part of Lot 58 of The Origins of Cyberspace auction, Christie's, February 23, 2005.
    • Section I. March 20, 1957, 35 pages.
    • Section II. April 10, 1957, 31 pages.
    • Section III. June 7, 1957, 28 pages.
  • [Grace E. Mitchell.] General Information Manual : Programmer's Primer for FORTRAN Automatic Coding System for the IBM 704. IBM Corporation, New York, 1957, Form F28-6019, 67 PDF at bitsavers.org
    Lee 1984 cites Form 32-0306; Form F28-6019 (above) states "This edition is a reprint of Form Number 32-0306-1 and does not obsolete it or 32-0306. No changes have been made to 32-0306-1."
  • Anonymous. The FORTRAN Automatic Coding System for the IBM 704 EDPM : Preliminary Operator's Manual. Programming Research Department, International Business Machines Corporation, April 8, 1957, 6+7 pages.
    • Copy 1: Photocopy with "I. Ziller" written on first page. Computer History Museum Lot X2677.2004, Box 3 of 6, black 3-inch binder. Donated by J.A.N. Lee. PDF
    • Copy 2: Computer History Museum lot number X3143.2005, donated by Dick Sites. Part of Lot 58 of The Origins of Cyberspace auction, Christie's, February 23, 2005.
    "This manual describes the use of FORTRAN 4-1-4-1." The 704 did not have an operating system; FORTRAN ran on the bare machine. This manual has sections Preparing the System Tape, Using the System Tape, Error Detection, Running the Object Program, Error Stops in Object Programs, Maintaining the Library Functions, and then a 7-page list of compiler error stops.
  • International Business Machines Corporation and R.A. Hughes and R. Nutt. FORTRAN Automatic Coding System for the IBM 704 Data Processing System : Reference Manual. Form C28-6003, October 1958, 56 pages. PDF at bitsavers.org

    This is very similar to the October 1956 manual, but includes the description of the function statement (see page 17), which was initially documented in an addendum (see above).

  • Anonymous. FORTRAN Programmation Automatique de L'Ordinateur IBM 704 : Manuel du Programmeur. IBM France, Institut de Calcul Scientifique, Paris. No date, 51 pages. Given to Paul McJones by John Backus. PDF
  • Anonymous. FORTRAN II for the IBM 704 Data Processing System : Reference Manual. Form C28-6000-2, 1958, 63 pages. PDF at bitsavers.org

    This manual is a supplement to the original FORTRAN Reference Manual and Primer, describing the new features, including the CALL, SUBROUTINE, FUNCTION, COMMON, and END statements and the new Binary Symbolic Subroutine Loader.

  • Anonymous. The FORTRAN II Automatic Coding System for the IBM 704 : Operations Manual. No date, 62 pages. Scanned from photocopy loaned by Roger Roach. PDF PDF at bitsavers.org
  • Various authors. Miscellaneous FORTRAN memos, 1958-1959. PDF at bitsavers.org
    • Anonymous. 704 FORTRAN II : Error Halt List for BSS Loader. November 28, 1958, 1 page.
    • Anonymous. FORTRAN Subprogram Types [with calling sequences]. 2 pages.
    • Anonymous. Memorandum for All 704 Users : FORTRAN Library and END Cards. Poughkeepsie South Road Laboratory, Department 535, November 26, 1958.
    • L.O. Nippe. Memorandum for All 704 Users : FORTRAN Program Library Addition [PE RAND pseudo random number generator]. Poughkeepsie South Road Laboratory, Department 535, October 28, 1958, 2 pages.
    • H.S. Long and L.O. Nippe. Memorandum for All 704 Users : FORTRAN Library Addition [PK CERF complementary error function]. Poughkeepsie South Road Laboratory, Department 535, November 14, 1958, 1 page.
    • L.O. Nippe. Memorandum for All 704 Users : FORTRAN Program Library Addition [PK LGAM natural logarithm of the Gamma Function]. Poughkeepsie South Road Laboratory, Department 535, October 28, 1958, 1 page.
    • L.O. Nippe. Memorandum for All 704 Users : FORTRAN Program Library Addition [PE OVFL reset or test overflow triggers]. Poughkeepsie South Road Laboratory, Department 535, November 25, 1958, 1 page.
    • L.O. Nippe. Memorandum for All 704 Users : FORTRAN Program Library Addition [EL SAVE 1 and 2 save and restore cores and drums]. Poughkeepsie South Road Laboratory, Department 535, October 28, 1958, 1 page.
    • L.O. Nippe. Memorandum for All 704 Users : FORTRAN Program Library Addition [LA S885 to solve the matrix equation AX = B for X and to evaluate the determinant A]. Poughkeepsie South Road Laboratory, Department 535, October 28, 1958, 1 page.
    • L.O. Nippe. Memorandum for All 704 Users : FORTRAN Program Library Addition [NU BES1 Bessel functions for real argument and order]. Poughkeepsie South Road Laboratory, Department 535, October 28, 1958, 2 pages.
    • Anonymous. Master IBM CARD Layouts : FORTRAN relocatable and absolute binary instruction or data cards. 2 pages.
    • Anonymous. FORTRAN Modifications/Boolean Expressions, Function and Subroutine Names as Arguments, Additional Format Features. IBM Applied Programming, November 1959, 6 pages.
    • Anonymous. FORTRAN Modifications/Machine Language Instructions in FORTRAN Programs, IBM Applied Programming, January 1960, 12 pages.
    • L.O. Nippe. FORTRAN Program Cards [control card for SAP relocatable binary deck]. Department 535, October 19, 1959, 1 page.
  • [I. Ziller]. Description of Source Language Additions to the FORTRAN II System. Programming Research, International Business Machines Corporation, 1958?, 1+12 pages. Computer History Museum Lot X2677.2004, Box 3 of 6, black 3-inch binder. Donated by J.A.N. Lee. PDF
    "This is the document which proposes the extensions to FORTRAN II to create FORTRAN III which was a very short-lived system. The fundamental addition was the allowance of symbolic statements intermixed with FORTRAN statements." [Lee 1984]
  • Grace E. Mitchell, "The 704 FORTRAN II Automatic Coding System. Research Report RC-136, IBM Research Center, Yorktown Heights, New York, September 4, 1959, 13 pages. Computer History Museum Lot X2677.2004, Box 3 of 6, black 3-inch binder. Donated by J.A.N. Lee. PDF
    "Abstract: This paper discusses the addition made in the FORTRAN I translator to produce the FORTRAN II translator. The new source language statements, debugging facilities and loader are described."
  • Anonymous. IBM 709 Data Processing System Reference Manual followed by 709 FORTRAN Automatic Coding System. cover+24-72+121-124+129-166+1-82 pages, no date. PDF at bitsavers.org

    A combination of sections of a hardware reference manual and a FORTRAN II reference manual. Perhaps this was assembled from separate manuals for distribution to students learning FORTRAN?

  • Anonymous. Systems Manual for 704 FORTRAN and 709 FORTRAN. Applied Programming Department, International Business Machines Corporation, April 1960, 264 pages. Copy belonging to Peter Capek. PDF
    "Prefatory Note: This manual is an attempt to fulfill a long standing, much-pressed request. That is, a request for an over-all, comprehensive explanation of the workings of the entire Fortran System. This includes, in addition to the compiler proper, the monitor, the editor programs, and other corollary routines. ..."
  • Anonymous. FORTRAN II General Information Manual. IBM Systems Reference Library. Form F28-8074-3, December 1963, viii+103 pages. PDF at bitsavers.org
  • Anonymous. FORTRAN II reference manual.
    • IBM 709/7090 FORTRAN Programming System : Reference Manual. Form C28-6054-2, January 61, 105 pages. Original belonging to Bob Ayers. PDF
    • IBM 7090/7094 Programming Systems : FORTRAN II Programming. IBM Systems Reference Library. Form C28-6054-4, August 1963, 51 pages. PDF at bitsavers.org
    • IBM 7090/7094 Programming Systems : FORTRAN II Programming. IBM Systems Reference Library. Form C28-6054-5, April 1964, 51 pages. PDF at bitsavers.org
  • Donald P. Moore. FORTRAN ASSEMBLY PROGRAM (FAP) for the IBM 709/7090. IBM 709/7090 Data Processing System Bulletin. Form J28-6098-1, 1961, 90 pages including addenda. Original belongs to Bob Ayers. PDF
  • Anonymous. IBM 7090/7094 Programming Systems : FORTRAN II Assembly Program (FAP). IBM Systems Reference Library.
    • Form C28-6235-2, October 1963. 75 pages. Followed by Technical Newsletter N28-0084 (addenda and errata to C28-6235-2), November 29, 1963. 18 pages. PDF at bitsavers.org
    • Form C28-6235-3, April 1964. 75 pages. PDF at bitsavers.org
  • Anonymous. IBM 7090/7094 Programming Systems : FORTRAN II Operations. IBM Systems Reference Library. Form C28-6066-6, 1963. PDF at bitsavers.org

    "This publication contains a description of the FORTRAN II Processor operating under the FORTRAN II Monitor (Part 1 of this publication) and of the FORTRAN II Processor operating under IBSYS (Part 2 of this publication.)"

  • Anonymous. IBM 7090/7094 IBSYS Operating System : System Monitor (IBSYS). IBM Systems Reference Library.
    • Version 11. Form C28-6248-1, February 1964. 77 pages. PDF at bitsavers.org
    • Version 13. Form C28-6248-7, December 30, 1966. 93 pages. Followed by Technical Newsletter N28-0242 (addenda and errrata to C28-6248-7), 3 pages,  PDF at bitsavers.org

Correspondence and memoranda

  • John W. Backus Papers, Manuscript Division, Library of Congress, Washington, D.C. LC Control Number mm2003084968.
    • Finding aid available in the Library of Congress Manuscript Reading Room. DRAFT version. PDF
    • John Backus. Items for the Library of Congress. 13 pages, 2003. PDF

    "Summary: Correspondence, memoranda, speeches, writings, reports, notes, slides, photographs, and other papers relating to Backus's work as a computer scientist at IBM on programming languages, particularly FORTRAN. Includes material relating to Backus's early work on the IBM Selective Sequence Electronic Calculator and Backus-Naur Form (BNF). Documents Backus's pursuit as IBM Fellow, 1963-1991, of his own research projects relating to mathematical theories of programming and the development of functional programming languages. Also includes files pertaining to Backus's political activism as a member of Computer Professionals Against ABM in the early 1970s and as an opponent of the strategic defense initiative in the 1980s."

  • "TWENTY-FIVE YEARS OF FORTRAN" (EXHIBIT, 1957-82). INTERNATIONAL BUSINESS MACHINES CORPORATION. Manuscript number Ms83-003, Special Collections Department, University Libraries, Virginia Polytechnic Institute and State University. Directory

    "5.0 cu. ft., 10 - 3'x8' panels and 1 videotape. Pioneer Day was celebrated on June 9, 1982, at the National Computer Conference in honor of the 25th anniversary of the delivery of the first FORTRAN compiler. As part of the celebration IBM created and displayed this exhibit. Contains photographs of FORTRAN pioneers, facsimiles of documents, textual analysis, flow charts, memorabilia, FORTRAN manuals and other publications, and a twelve-minute videotape on the history of FORTRAN starring the members of the original FORTRAN development team: John Backus, Sheldon Best, Richard Goldberg, Lois Mitchell Haibt, Harlan Herrick, Grace Mitchell, Robert Nelson, Roy Nutt, David Sayre, Peter Sheridan, and Irving Ziller."

  • J.W. Backus. Letter to Greenstadt. April 1957. 4 pages. Computer History Museum lot number X3143.2005, donated by Dick Sites. Part of Lot 58 of The Origins of Cyberspace auction, Christie's, February 23, 2005.
  • J.W. Backus. Letter to Ross. May 1957. 3 pages. Computer History Museum lot number X3143.2005, donated by Dick Sites. Part of Lot 58 of The Origins of Cyberspace auction, Christie's, February 23, 2005.
  • Harwood G. Kolsky. Notes from "Inside Fortran" presentation by Bill Heising. July 7, 1958. Handwritten notes, 5 pages. Computer History Museum accession number 102635018. Donated by Harwood G. Kolsky. PDF
  • B.G. Oldfield. FORTRAN Experience at the New York Data Processing Center. Presented to SHARE meeting, Dallas, Texas, July 1957. Includes cover letter from Oldfield to John Backus, July 30, 1957. 1+3 pages. Computer History Museum, McPherson Box 15, Programming Presentation Papers folder. PDF
  • [Irv Ziller?] Preliminary Report : Proposed Specifications for FORTRAN II for the 704. August 28, 1957, 3 pages. Computer History Museum, McPherson Box 15, Programming Presentation Papers folder. PDF

    In this version a subroutine call begins with the name of the procedure followed by the parenthesized argument list -- there is no reserved word CALL. A subroutine begins with a SUB DEF statement. There is a RETURN statement but no END statement.

  • [Irv Ziller.] Proposed Specifications for FORTRAN II for the 704. Programming Research Department, International Business Machines Corporation, September 25, 1957, 1+7 pages.  Ditto (spirit duplicator). Given to Paul McJones by John Backus. PDF

    In this version a subroutine begins with a SUBROUTINE DEFINITION statement, and there is still no reserved word CALL. An UPPER statement is described, with the same semantics as the COMMON statement introduced in the November 18 version.  The END statement appears.

  • [Irv Ziller.] Proposed Specifications for FORTRAN II for the 704. Programming Research Department, International Business Machines Corporation, November 18, 1957, 1+7 pages.  Ditto (spirit duplicator) with pen and ink corrections. Given to Paul McJones by John Backus. PDF

    In this version a subroutine begins with a SUBROUTINE statement and a subroutine call begins with the reserved word CALL. The UPPER statement becomes the COMMON statement.

  • J.W. Backus. Present Status of FORTRAN : Memorandum to Mr. J.C. McPherson. Programming Research, September 1, 1957. Computer History Museum, McPherson Box 15, Programming Presentation Papers folder. PDF
  • John C. McPherson. Memorandum to Mr. J.W. Backus. WHQ, September 23, 1957. 1 page. Computer History Museum, McPherson Box 15, Programming Presentation Papers folder. PDF
  • John C. McPherson. Memorandum : FORTRAN II. November 1, 1957. 1 page. Computer History Museum, McPherson Box 15, Programming Presentation Papers folder. PDF
  • J.W. Backus. Memorandum to Mr. J.C. McPherson : FORTRAN II. Programming Research, November 5, 1957. 1 page. Computer History Museum, McPherson Box 15, Programming Presentation Papers folder. PDF

Papers and lecture notes

Precursors of FORTRAN

  • A.C. Glennie. Automatic Coding of an electronic computer. Photocopy of typewritten manuscript with handwritten corrections, 15 pages. First page has date "14/12/52" and handwritten annotation "Lecture was delivered at University of Cambridge mid-February 1953". Computer History Museum Lot X2677.2004, Box 3 of 6, blue 3-inch binder (donated by J.A.N. Lee). PDF
  • J.H. Laning and N. Zierler. A Program For Translation of Mathematical Equations for Whirlwind I. Engineering Memorandum E-364, Instrumentation Laboratory, Massachusetts Institute of Technology.
    • Copy 1: Computer History Museum Lot X2677.2004, Box 3 of 6, black 3-inch binder (donated by J.A.N. Lee). PDF
    • Copy 2: Alternative version in Document Library, Apollo Guidance Computer project, History of Recent Science & Technology, M.I.T. PDF
    "The Laning and Zierler system was quite a different story: it was the world's first operating algebraic compiler, a rather elegant but simple one. Knuth and Trabb Pardo (1977) assign this honor to Alick Glennie's AUTOCODE, but I, for one, am unable to recognize the sample AUTOCODE program they give as "algebraic", especially when it is compared to the corresponding Laning and Zierler program." [Backus, The history of FORTRAN I, II and III]
  • John W. Backus. The IBM 701 Speedcoding System. Journal of the ACM, Volume 1, Number 1 (January 1954), pages 4-6. ACM Digital Library
    "Speedcoding is a floating point three-address system which greatly simplifies programming, and checking out a program. Speedcoding provides convenient input-output operations, built-in checking, easy loading and printing. Therefore, Speedcoding reduces programming and testing expenses considerably. These expenses are often a large part of the cost of operating a computing installation. Thus Speedcoding is economical as well as convenient to use."
  • J.W. Backus and H. Herrick. IBM 701 Speedcoding and other automatic programming systems. In Proc. Symp. on Automatic Programming for Digital Computer, Washington DC, The Office of Naval Research, May 1954, pp. 106-113. Computer History Museum Lot X2677.2004, Box 3 of 6, black 3-inch binder. Donated by J.A.N. Lee. PDF

By FORTRAN project members

  • J.W. Backus, R.J. Beeber, S. Best, R. Goldberg, L.M. Haibt, H.L. Herrick, R.A. Nelson, D. Sayre, P.B. Sheridan, H.J. Stern, I. Ziller, R.A. Hughes, and R. Nutt, The FORTRAN automatic coding system. Pages 188-198. In Proceedings Western Joint Computer Conference, Los Angeles, California, February 1957.
    • Copy 1: Preprint, 50 pages. Acquired by Al Kossow on eBay. PDF preprint at bitsavers.org
    • Copy 2: Identical to Copy 1? Computer History Museum lot number X3143.2005, donated by Dick Sites. Part of Lot 58 of The Origins of Cyberspace auction, Christie's, February 23, 2005.
    • Copy 3: Typeset reprint in original blue cover. Given to Paul McJones by John Backus. PDF
    "This is the first formal paper on the completed FORTRAN implementation reporting both on the language and on the design of the compiler. It includes an overview of the language, a description of each stage of the processor (with attributions of responsibilities amongst the authors), and conclusions regarding the success of the project. The final statement is worthy of repeating: "... the intellectual satisfaction of having formulated and solved some difficult problems of translation and the knowledge and experience acquired in the process are themselves almost a sufficient reward for the long effort expended . . . " [Lee 1984]
  • J.W. Backus. Automatic programming: properties and performance of FORTRAN systems I and II. Session 2, Paper 3, Proceedings Symposium on the Mechanisation of Thought Processes, Teddington, Middlesex, England, The National Physical Laboratory, Nov. 1958, Her Majesty's Stationary Office (HMSO), pp. 232-255. PDF
    "Written at a distance of one year after the delivery of the first FORTRAN processor for the 704, this paper is significant in its presentation of FORTRAN as an 'automatic programming system' in the environment of a symposium of the mechanisation of thought processes. Other attendees at the meeting included Jan Garwick (Norway), John McCarthy (USA), Grace Murray Hopper (USA) and Christopher Strachey (GB), each of whom commented on the presentation by Backus. Obviously Garwick was much more interested in telling the audience of developments by Ole-Johan Dahl while McCarthy (the author of LISP) praised FORTRAN for its ability to express '... quite lengthy algebraic expressions ...' and the implementation of separate compilation of subroutines (presumably in FORTRAN II). Hopper states that '... there is a lack of understanding of the systemizsation [sic] of FORTRAN' and asks Backus to emphasize that Fortran does more than just the 'housekeeping' for the programmer." [Lee 1984]
  • P.B. Sheridan. The arithmetic translator-compiler of the IBM FORTRAN automatic coding system. Comm. ACM, Volume 2, Number 2, February 1959, pages 9-21. ACM Digital Library
    [From the introduction:] The present paper describes, in formal terms, the steps in translation employed by the FORTRAN arithmetic translator in converting FORTRAN formulas into 704 assembly code. The steps are described in about the order in which they are actually taken during translation."
  • J.W. Backus and W.P. Heising. FORTRAN. IEEE Transactions on Electronic Computers, EC-13, Number 4, August 1964, pages 382-385. PDF
    [From the summary: ] The fundamental concepts of FORTRAN, the most widely used high-level, scientific programming language, are set forth and the significant characteristics are described in historical order from inception ... in 1954 to [1964] ... The basic problem of how to get high quality programming from an-easy-to-write high-level language is emphasized. "Looking back after 10 years, Backus recalls the objectives of the FORTRAN effort and many of the frustrations which accompanied the development of the first processor. Of particular note is the commentary on the time taken during compilation to ensure the production of optimum code, time which is often fruitlessly wasted on simple programs. Mention is made of the technique of flow analysis used in the first compiler which was based on a Monte Carlo analysis of the frequency of execution of sections of the program. Regrettably (then and ever since) no documentation of this technique is provided." [Lee 1984]
  • J. W. Backus, The history of FORTRAN I, II and III. Proceedings First ACM SIGPLAN conference on History of programming languages, PDF at ACM Digital Library HTML and RTF at Stanford's Silicon Valley Project; appears as pages 25-74 of: R. Wexelblat, editor, History of Programming Languages, ACM Monograph Series, Academic Press, 1981 PDF; Annals History of Computing, Volume 1, Number 1, July 1979, pages 21-37; reprinted in Volume 20, Number 4, October-December 1998 IEEE CS Digital Library

    "This article summarizes the history of the development of FORTRAN I, II and III. The author, who was the leader of the groups which developed the first two compilers, explains the economic factors leading to the establishment of the FORTRAN project, its goals, and the mode of working of its implementations. The article makes it clear that the early FORTRAN efforts were efforts of compiler development rather than language design. The language was designed as the compiler was written and the compiler design was considered [to be] the hard job. This lucidly written article is interesting not only for the facts presented about the history of FORTRAN (e.g., that efficiency of object code was more important in getting FORTRAN accepted than the design of the language) and the insight given into design of the language (e.g., that subscripts in a subscript variable were limited to three to increase compiler efficiency rather than because the IBM 704 has only three index registers), but also for its revelation of the mixture of clairvoyance, inventiveness, and naivete possessed by the implementation team (e.g., common expression elimination, the actual degree of optimization exhibited in the object code, and the feeling that debugging would all but [be] eliminated by the use of FORTRAN). The article is must reading for anyone considering language design today; it raises serious questions as to whether there is anything new under the sun. The kinds of things being said today are hauntingly reminiscent of the kinds of things quoted in the article as being said in 'those' days." [D. Berry, Los Angeles CA, Computing Review 35,907]

  • J. W. Backus. Programming in the 1950's - some personal impressions. In A History of Computing in the Twentieth Century, N. Metropolis et al, Eds., Academic Press, New York, 1980, pages 125-135. Preprint. PDF

    "Backus has been known to suggest that as much as anything else he would like to forget FORTRAN, and in this paper he almost does just that. The paper represents a personal view of the world as it existed prior to the FORTRAN development. Following a short presentation on the actual production of the first FORTRAN compiler (including the admission that he had been wrong in ascribing the early notions of algebraic input to Laning and Zierler in previous presentations) Backus shows how the concepts introduced by FORTRAN fulfilled the goals of the period." [J.A.N. Lee, Annals of the History of Computing, 1981.]

By others

  • John Cocke and J.T. Schwartz, Programming Languages and their Compilers, Preliminary Notes. 2nd revised edition, Courant Institute, New York, April 1970, pages 510-515. PDF

    "These five pages in the otherwise unpublished manuscript contain a review of the techniques of optimization that were used in the original FORTRAN compiler, and based on assistance from Sheldon Best, are a more detailed account of the processes used than were published previously." [Lee 1984]

  • H.S. Bright. FORTRAN comes to Westinghouse-Bettis. Computers and Automation, Volume 20, Number 11, 1971, pages 17-18. PDF

    "This is an anecdote regarding a strange and wonderful package that arrived unannounced at Westinghouse-Bettis and which turned out to be a binary deck of the original FORTRAN processor for the IBM 704. Included is a copy of the first program run and the output (including the first error message.) There may be one erroneous report in this anecdote, that is that April 20, 1957 is said to be a Friday (in the first sentence); the 20th was in fact a Saturday." [Lee 1984]

  • Donald Ervin Knuth and Luis Trabb Pardo. The early development of programming languages. Pages 419-493 in J. Belzer, A. G. Holzman, A. Kent, editors. Encyclopedia of Computer Science and Technology, Marcel Dekker, Inc., New York. 1977.  Republished in: Donald Knuth. Selected Papers on Computer Languages, CSLI, Stanford, 2003.
  • F.E. Allen. The History of Language Processor Technology in IBM. IBM Journal of Research & Development, Volume 25, Number 5 (September 1981), pages 535-548. PDF at IBM

    The section "Early history" describes pre-FORTRAN programming: machine language, subroutine libraries, symbolic operation codes, relative addressing for instructions and data, labels, macros, and interpreters for virtual machines with floating-point and index registers such as Backus's Speedcode. The section "FORTRAN I" describes the compiler structure in some detail and concludes: "The real results of the project are the influences it had on future compilers and theory. Some of these effects have already been mentioned; more will be discussed later. Suffice it to say that the technological fallout from this project has been extensive."

  • F.E. Allen. A Technological Review of the FORTRAN I Compiler. Proceedings National Computer Conference, 1982, AFIPS Press, pages 805-809. PDF

    "In some cases, it produced code which was so good that users thought it was wrong, since it bore no obvious relationship to the source. It set a standard for object program efficiency that has rarely been equalled. The FORTRAN I compiler, completed in 1957, established modern compiler tasks, structure, and techniques."

  • J.A.N. Lee and Henry Tropp. FORTRAN and its Progeny (unpublished book). Computer History Museum Lot X2677.2004, Box 3 of 6. Donated by J.A.N. Lee.
  • J.A.N. Lee and H.S. Tropp, editors. FORTRAN's Twenty-Fifth Anniversary. Special issue of the Annals of the History of Computing, Volume 6, Number 1 (January 1984).
    • John Backus, session chair. Early Days of FORTRAN.
      • J.A.N. Lee. Pioneer Day, 1982. Pages 7-14.
      • John C. McPherson. Early Computers and Computing Institutions. Pages 15-16.
      • Robert W. Bemer. Computing Prior to FORTRAN. Pages 16-18.
      • Richard Goldberg. Register Allocation in FORTRAN I. Pages 19-20.
      • Roy Nutt. Compiler Techniques Available in 1954. Pages 20-22.
      • Frances E. Allen. A Technological Review of the Early FORTRAN Compilers. Pages 22-26.
      • John Backus. Afterward. Pages 26-27.
    • Jeanne Adams, session chair. Institutionalization of FORTRAN.
      • Herbert S. Bright. Early FORTRAN User Experience. Pages 28-30.
      • Robert A. Hughes. Early FORTRAN at Livermore. Pages 30-31.
      • William P. Heising. The Emergence of FORTRAN IV from FORTRAN II. Pages 31-32.
      • Martin N. Greenfield. The Impact of FORTRAN Standardization. Page 33.
      • Daniel D. McCracken. The Early History of FORTRAN Publications. Pages 33-34.
      • Charles Davidson. The Emergence of Load-and-Go Systems for FORTRAN. Pages 35-37.
      • James M. Sakoda. A Dynamic Storage Allocation Language--DYSTAL. Pages 37-38.
      • Bruce Rosenblatt. The Successors to FORTRAN--Why Does FORTRAN Survive? Pages 39-40.
    • Daniel N. Leeson. IBM FORTRAN Exhibit and Film. Pages 41-48.
    • J.A.N. Lee. An Annotated Bibliography of FORTRAN. Pages 49-58.
    • Henry S. Tropp, editor. FORTRAN Anecodotes. Pages 59-64.
    • Anonymous. Meetings in Retrospect. Pages 65-69
      • FORTRAN Celebration at IBM Santa Theresa Laboratory.
      • FORTRAN Activities at SHARE Meeting.
  • David Padua. The FORTRAN I Compiler. Computing in Science and Engineering, Volume 2, Number 1, January/February 2000, pages 70-75. PDF at uiuc.edu IEEE Digital Library

    Part of a special issue with the theme of  "the 10 algorithms with the greatest influence on the development and practice of science and engineering in the 20th century." [Editors, page 22. PDF at sccm.stanford.edu IEEE Digital Library]

Interviews and biographies of John Backus

  • Transcript of Larry Saphire Interview of John Backus, San Francisco, California, December 15, 1967. Number TC-46 of a series in the IBM Oral History of Computer Technology. Topical Outline, Track 1, Track 2, 1+32+22 pages. Handwritten annotation "COPY orig to LOC". Given to Paul McJones by John Backus.
  • Henry Tropp, editor. Transcript of discussion, SHARE meeting, Hilton Hotel, San Francisco, March 1972. Computer History Museum Lot X2677.2004, Box 3 of 6, blue 3-inch binder. Donated by J.A.N. Lee.
    "The complete transcript of this discussion covers much more than FORTRAN, but there are several pages of very frank and open comments about the development of FORTRAN and some of the vexations of getting the system into the hands of users. Participants in the discussion include John Backus, Tom Steel, Jr., Frank Engel, Jr., Betty Ryckman, George Ryckman, Frank Wagner, William Gautney, John Greenstadt, Harry Cantrell, Ted Dollata, Arnold Smith, and Mort Bernstein. The original tapes of the discussion are in the Smithsonian's National Museum of American History." [Lee 1984]
  • Claire Stegmann. Pathfinder. THINK, IBM Corporation, July/August 1979, pages 18-27. PDF

    "An interview with John Backus on the 25th anniversary of the beginning of the FORTRAN project." [Lee 1984]

  • ACM Turing Award citation
  • Steve Lohr. FORTRAN: the "Early Turning Point". In Go To, Basic Books, 2001. online at inventors.about.com
  • Dennis Shasha and Cathy Lazere. John Backus. In Out of Their Minds: The Lives and Discoveries of 15 Great Computer Scientists, Copernicus/Springer-Verlag, 1995.
  • Robert Slater. The Man Who Invented Fortran. In Portraits in Silicon, The MIT Press, 1987.
  • The History of Computing Project
  • The MacTutor History of Mathematics archive
  • University of Pittsburgh Information Science Hall of Fame

Memoirs and user stories

  • Bob Bemer. Computer History Vignettes. online at www.bobbemer.com

    Bemer joined IBM in 1955 and worked for Backus in the Programming Research Department. FORTRANSIT translated FORTRAN to IT, then used a modified version of Alan Perlis's IT compiler to generate IBM 605 SOAP assembly language.  The main memory of the IBM 650 was a drum, so the instruction placement optimization performed by SOAP was crucial to getting reasonable performance.

    • FORTRANSIT -- Making FORTRAN a Winner. V10. online
    • Who Was Who in IBM's Programming Research? -- Early Fortran Days. V11. online
  • Robert Hughes. An Interview with Bob Hughes. May 9, 1997. Part of: George A. Michael. Stories of the Development of Large Scale Scientific Computing at Lawrence Livermore National Laboratory, web site. online
  • John Van Gardner. Fortran And The Genesis Of Project Intercept, May 2005, 2 pages. PDF

    Gardner was one of the IBM Customer Engineers who installed 704 serial number 13 at Lockheed Aircraft in Marietta, Georgia in May 1956. This memoir describes how in 1957 he debugged a hardware problem that had resulted in the Fortran compiler behaving in a nondeterministic manner.

  • Mark Halpern. On the Heels of the Pioneers - A Memoir of the Not-quite-earliest Days of Programming. Annals of the History of Computing, Volume 13, Number 1, 1999, pages 101-111. online at rules-of-the-game.com IEEE Digital Library

    His first assignment after joining the IBM Programming Research Department in 1957 was to study and document (via flow-charts) the FORTRAN compiler.

  • Dennis E. Hamilton. Impact of FORTRAN II language changes. Personal communication to Paul McJones, April 2005:

    "However, the impact of small changes and improvements can be immense. The ability to build Fortran programs out of independently-compilable modules and to have the ability to decompose into functions and subroutines using Fortran or any other tool that produced compatible code (usually the assembler, in those days) had an immense impact. In Fortran I programs were one giant file and there was no modularization structure. That small change in Fortran II was earthshaking in terms of software development and, I think, the endurance of Fortran as a technical-software programming tool.

    It also changed the way that computers had to operate to make software building and use work more smoothly. I think it is no coincidence that this paralleled increased interest in operating systems (called things like tape monitors, at the time) and the use of the computer for organizing the data processing workflows. (There was also a lot of resistance to operating systems in those days.)"

  • Norm Hardy. Fortran at Livermore. Web page, undated. HTML at www.cap-lore.com

    "Here are a few recollections on Fortran when it appeared at Livermore.

    ...

    Fortran's optimization was far ahead of its time. Indeed other much smaller and faster fortrans were soon written for other machines, but I recall observing that it was about 10 years before any compiler optimized as well as the original.

    Some months after the compiler was shipped, IBM released the 'source' for the compiler in the form of micro-film images of assembler listings of the compiler, carefully hand annotated with the patches. A year or so later IBM shipped a clean assembly of the compiler with some of the less significant optimizations absent. The newer compiler was yet faster and more reliable and we were able finally to compile our large production code. The newer compiler still led the pack regarding optimization."

Photographs

  • John Backus and John Cocke. Match book cover labeled "Capt. Starn's Restaurant and Bar, Atlantic City, New Jersey", undated. Given to Paul McJones by John Backus. JPEG
  • Richard Goldberg, Robert Nelson, Lois Haibt, Roy Nutt, Irv Ziller, Sheldon Best, Harlan Herrick, John Backus, Peter Sheridan. Pioneer Day Banquet, National Computer Conference, Houston, Texas, June 9, 1982. Photographer unknown. Given to Paul McJones by John Backus. JPEG

Films/video

  • FORTRAN marketing film, 1958?; FORTRAN 25th anniversary film, 1982, 12.5 minutes. Computer History Museum lot number X2843.2005, donated by Daniel N. Leeson.

    Daniel N. Leeson describes both these films in his article "IBM FORTRAN and Exhibit" in Annals of the History of Computing, Volume, 6, Number 1, January 1984, pages 41-48. He says the first FORTRAN film was made in Poughkeepsie about 1958, and that Harlan Herrick owned the only known copy. He describes the production of the 1982 film in some detail, and includes a complete transcript.

  • Excerpts from FORTRAN session. History of Programming Languages Conference, 1-3 June 1978, Los Angeles, California. Audio plus still pictures in Real Media and QuickTime format. online at Virginia Tech

Simulators

Related resources

Created by pmcjones
Last modified 2005-08-07 17:19
Upcoming Events
SCC Meeting - New time 5:30 PM
Hopper, CHM,
2005-09-21
« September 2005 »
Su Mo Tu We Th Fr Sa
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  
2005-09-21
17:30-19:30 SCC Meeting - New time 5:30 PM
 
 

Powered by Plone

This site conforms to the following standards: