Abstract
Before 1954 almost all programming was done in machine language or assembly language. Programmers rightly regarded their work as a complex, creative art that required human inventiveness to produce an efficient program. Much of their effort was devoted to overcoming the difficulties created by the computers of that era: the lack of index registers, the lack of built- in floating point operations, restricted instruction sets (which might have AND but not OR, for example), and primitive input- output arrangements. Given the nature of computers, the services which “automatic programming” performed for the programmer were concerned with overcoming the machine's shortcomings. Thus the primary concern of some “automatic programming” systems was to allow the use of symbolic addresses and decimal numbers (e.g., the MIDAC Input Translation Program [Brown and Carr 1954]).
But most of the larger “automatic. Programming” systems (with the exception of Laning and Zierler's algebraic system [Laning and Zierler 1954] and the A-2 compiler [Remington Rand 1953; Moser 1954]) simply provided a synthetic “computer” with an order code different from that of the real machine. This synthetic computer usually had floating point instructions and index registers and had improved input-output commands; it was therefore much easier to program than its real counterpart.
- 1 Adams, Charles W. and Laning, J. H., Jr. 1954 May. The MIT systems of automatic coding: Comprehensive, Summer Session, and Algebraic. In Proc. Symp. on Automatic Programming for Digital Computers. Washington DC: The Office of Naval Research.Google Scholar
- 2 Addenda to the FORTRAN Programmer's Reference Manual. 1957 February 8. (Transmitted to Dr. John Greenstadt, Special Programs Group, Applied Science Division, IBM, for distribution to SHARE members, by letter from John W. Backus, Programming Research Dept. IBM. 5 pages.)Google Scholar
- 3 Additions to FORTRAN II 1958. Description of Source Language Additions to the FORTRAN II System. New York: Programming Research, IBM Corp. (Distributed to users of FORTRAN III. 12 pages.)Google Scholar
- 4 Ash, R.; Broadwin, E.; Della Valle, V.; Katz, C.; Greene, M.; Jenny, A.; and Yu, L. 1957. Preliminary Manual for MATHMATIC and ARITHMATIC Systems (for Algebraic Translation and Compilation for UNIVAC I and II). Philadelphia Pa: Remington Rand UNIVAC.Google Scholar
- 5 Backus, J. W. 1954 January. The IBM 701 Speedcoding system. JACM 1 (1):4-6. Google ScholarDigital Library
- 6 Backus, John 1954 May 21. Letter to J. H. Laning, Jr.Google Scholar
- 7 Backus, J. W. 1958 November. Automatic programming: properties and performance of FORTRAN systems I and II. In Proc. Symp. on the Mechanisation of Thought Processes. Teddington, Middlesex, England: The National Physical Laboratory.Google Scholar
- 8 Backus, John 1976 June 10-15. Programming in America in the nineteen fifties—some personal impressions. In Proc. International Conf. on the History of Computing, Los Alamos. (Publisher yet to be selected.)Google Scholar
- 9 Backus, John 1978. The von Neumann style as an obstacle to high level programming; an alternative functional style and its algebra of programs. (to appear CACM). Google ScholarDigital Library
- 10 Backus, J. W. and Heising, W. P. 1964 August. FORTRAN. In IEEE Transactions on Electronic Computers. Vol EC-13 (4): 382-385.Google Scholar
- 11 Backus, John W. and Herrick, Harlan 1954 May. IBM 701 Speedcoding and other automatic programming systems. In Proc. Symp. on Automatic Programming for Digital Computers. Washington DC: The Office of Naval Research.Google Scholar
- 12 Backus, J. W.; Beeber, R. J.; Best, S.; Goldberg, R.; Haibt, L. M.; Herrick, H. L.; Nelson, R. A.; Sayre, D.; Sheridan, P. B.; Stern, H.; Ziller, I.; Hughes, R. A.; and Nutt, R. 1957 February. The FORTRAN automatic coding system. In Proc. Western Joint Computer Conf. Los Angeles.Google Scholar
- 13 Baker, Charles L. 1956 October. The PACT I coding system for the IBM Type 701. JACM 3 (4): 272-278. Google ScholarDigital Library
- 14 Belady, L.A. 1965 June 15. Measurements on programs: one level store simulation. Yorktown Heights NY: IBM Thomas J. Watson Research Center. Report RC 1420.Google Scholar
- 15 Böhm, Corrado 1954. Calculatrices digitales: Du déchiffrage de formules logico-mathématiques par la machine même dans la conception du programme. In Annali di Matematica Pura ed Applicata 37 (4): 175-217.Google Scholar
- 16 Bouricius, Willard G. 1953 December. Operating experience with the Los Alamos 701. In Proc. Eastern Joint Computer Conf. Washington DC.Google Scholar
- 17 Bright, Herbert S. 1971 November. FORTRAN comes to Westinghouse-Bettis, 1957. In Computers and Automation.Google Scholar
- 18 Brown, J. H. and Carr, John W., III 1954 May. Automatic programming and its development on MIDAC. In Proc. Symp. on Automatic Programming for Digital Computers. Washington DC: The Office of Naval Research.Google Scholar
- 19 Cocke, John and Schwartz, J. T. 1970 April. Programming Languages and their Compilers. (Preliminary Notes, Second Revised Version, April 1970) New York: New York University, The Courant Institute of Mathematical Sciences. Google ScholarDigital Library
- 20 Cress, Paul; Dirksen, Paul; and Graham, J. Wesley 1970. FORTRAN IV with WATFOR and WATFIV. Englewood Cliffs NJ: Prentice-Hall. Google ScholarDigital Library
- 21 Dijkstra, Edsger W. 1976. A Discipline of Programming. Englewood Cliffs NJ: Prentice-Hall. Google ScholarDigital Library
- 22 Grems, Mandalay and Porter, R. E. 1956. A truly automatic programming system. In Proc. Western Joint Computer Conf. 10-21.Google Scholar
- 23 Hoare, C. A. R. 1969 October. An axiomatic basis for computer programming. CACM 12 (10): 576-580, 583. Google ScholarDigital Library
- 24 IBM 1956 October 15. Programmer's Reference Manual, The FORTRAN Automatic Coding System for the IBM 704 EDPM. New York: IBM Corp. (Applied Science Division and Programming Research Dept., Working Committee: J. W. Backus, R. J. Beeber, S. Best, R. Goldberg, H. L. Herrick, R. A. Hughes {Univ. of Calif. Radiation Lab. Livermore, Calif.}, L. B. Mitchell, R. A. Nelson, R. Nutt {United Aircraft Corp., East Hartford, Conn.}, D. Sayre, P. B. Sheridan, H. Stern, I. Ziller).Google Scholar
- 25 IBM 1957. Programmer's Primer for FORTRAN Automatic Coding System for the IBM 704. New York: IBM Corp. Form No. 32-0306.Google Scholar
- 26 Knuth, Donald E. and Pardo, Luis Trabb 1977. Early development of programming languages. In Encyclopedia of Computer Science and Technology. Vol 7:419-493. New York: Marcel Dekker.Google Scholar
- 27 Laning, J. H. and Zierler, N. 1954 January. A program for translation of mathematical equations for Whirlwind I. Cambridge Mass.: MIT Instrumentation Lab. Engineering Memorandum E-364.Google Scholar
- 28 McCracken, Daniel D. 1961. A Guide to FORTRAN Programming. New York: Wiley.Google Scholar
- 29 Moser, Nora B. 1954 May. Compiler method of automatic programming. In Proc. Symp. on Automatic Programming for Digital Computers. Washington DC: The Office of Naval Research.Google Scholar
- 30 Muller, David E. 1954 May. Interpretive routines in the ILLIAC library. In Proc. Symp. on Automatic Programming for Digital Computers. Washington DC: The Office of Naval Research.Google Scholar
- 31 Operator's Manual 1957 April 8. #Preliminary Operator's Manual for the FORTRAN Automatic Coding System for the IBM 704 EDPM|. New York: IBM Corp. Programming Research Dept.Google Scholar
- 32 Organick, Elliot I. 1963. A FORTRAN Primer. Reading Mass.: Addison-Wesley.Google Scholar
- 33 Perlis, A. J.; Smith, J. W.; and Van Zoeren, H. R. 1957 March. Internal Translator (IT): a compiler for the 650. Pittsburgh: Carnegie Institute of Tech.Google Scholar
- 34 Preliminary Report 1954 November 10. Specifications for the IBM mathematical FORmula TRANslating system, FORTRAN. New York: IBM Corp. (Report by Programming Research Group, Applied Science Division, IBM. Distributed to prospective 704 customers and other interested parties. 29 pages.)Google Scholar
- 35 Proposed Specifications 1957 September 25. Proposed Specifications for FORTRAN II for the 704. (Unpublished memorandum, Programming Research Dept. IBM.)Google Scholar
- 36 Remington Rand, Inc. 1953 November 15. The A-2 compiler system operations manual. Prepared by Richard K. Ridgway and Margaret H. Harper under the direction of Grace M. Hopper.Google Scholar
- 37 Rutishauser, Heinz 1952. Automatische Rechenplanfertigung bei programmgesteuerten Rechenmaschinen. In Mitteilungen aus dem Inst. Für angew. Math. an der E. T. H. Zürich. Nr. 3. Basel: Birkhäuser.Google Scholar
- 38 Sammet, Jean E. 1969. Programming Languages: History and Fundamentals. Englewood Cliffs NJ: Prentice Hall. Google ScholarDigital Library
- 39 Sheridan, Peter B. 1959 February. The arithmetic translator-compiler of the IBM FORTRAN automatic coding system. CACM 2 (2): 9-21. Google ScholarDigital Library
- 40 Schlesinger, S. I. 1953 July. Dual coding system. Los Alamos NM: Los Alamos Scientific Lab. Los Alamos Report LA 1573.Google Scholar
- 41 Zuse, K. 1959. Über den Plankalkül. In Elektron. Rechenanl. 1:68-71.Google Scholar
- 42 Zuse, K. 1972. Der Plankalkül. In Berichte der Gesellschaft für Mathematik und Datenverarbeitung. 63, part 3. Bonn. (Manuscript prepared in 1945.)Google Scholar
Index Terms
- The history of FORTRAN I, II, and III
Recommendations
Structured programming in Fortran
The basic spirit of structured programming is to write programs that are easy to read and debug. Students who are taught programming should be encouraged to use structured programming principles. Ingredients of structured programming include:
Comments