The term autocoder needs to be distinguished from autocode, a term of the same era which was used in the UK for languages of a higher level. Both terms derive from the phrase automatic coding, which referred generally to programs which eased the burden of producing the numeric machine language codes of programs. ("Autocoding" is seen occasionally, and can refer to any kind of programming system.) In some circles "autocoder" could be used in a rather generic way to refer to what is now called a macro-assembler.
The first Autocoders were released in 1955 for the IBM 702, and in 1956 for the almost compatible IBM 705. They were designed by Roy Goldfinger who earlier had worked on New York University's (NYU) NYAP assembler. These machines were variable word length commercial machines, as were many of the computers for which an Autocoder was released.
Besides the 702 and 705, there eventually also were Autocoders for the IBM 1410 and 7010, IBM 7030 (Stretch), 7070/7072/7074, IBM 7080, and the IBM 1400 series. Other manufacturers sometimes built competing products, such as NCR's "National's Electronic Autocoder Technique" (NEAT).
The Pennsylvania State University developed a "Dual Autocoder Fortran Translator" (DAFT) compiler for the IBM 7074 in the 1960's which made it extremely easy to write (within a single program) lines of autocoder instructions freely interspersed with lines of Fortran code. This allowed symbolic machine instruction level coding within a higher level Fortran program, which was especially useful for optimizing the speed of inner loops, or for making use of the IBM 7074's unusual decimal word architecture.
Autocoder as implemented on the IBM 1401
The most well known Autocoder is that of the IBM 1401, undoubtedly due in part to the general success of that series of machines. Autocoder was the primary language of this computer, and its macro capabilities supported use of the Input/Output Control System which eased the programming burden. Another assembler, Symbolic Programming System (SPS), was the assembler offered when the IBM 1401 originally was announced as a punched-card-only computer. SPS had different mnemonics and a different fixed input format. It lacked Autocoder's features and was generally used only on machines that lacked tape drives (punched-card only). Autocoder also had the ability to process code written for SPS. A copy of the source programs for SPS-1, SPS-2 and Autocoder was donated to the Charles Babbage Institute, University of Minnesota, by Gary Mokotoff, author of SPS and coauthor of Autocoder.
The 1401 was available in six memory configurations, with 1400, 2000, 4000, 8000, 12000, or 16000 six-bit characters. The 8000-character model was the minimum needed to run Autocoder; a character file (on punched cards or magnetic tape) could be produced on an 8000-character model which could then be run on a 4000-character machine.
- Solomon 1993, p. 8.
- Hopper 1955.
- For an example see Allen 1981, p. 540.
- Catalog of Copyright Entries. Third Series: 1956. Copyright Office, Library of Congress. 1957. p. 305. Retrieved Aug 23, 2019.
- 705 autocoder system - manual of information (PDF), IBM Systems Reference Library (Second ed.), IBM Corporation, February 1957, 22-6726-1
- Goldfinger 1956.
- The Encyclopedia of Computer Languages Archived September 16, 2007, at the Wayback Machine
- IBM 1410 Autocoder (PDF), IBM Systems Reference Library (Second ed.), IBM Corporation, February 1964, C28-0309-1
- IBM 1410/700 Operating System (1410-PR-155) - Autocoder - 1410-AU-968 (PDF), IBM Systems Reference Library (Third ed.), IBM Corporation, November 1964, C28-0336-2
- Reference Manual - IBM 7070/7074 Four-Tape Autocoder (PDF), IBM Systems Reference Library (Second ed.), IBM Corporation, April 1961, C28-6102-1
- Reference Manual - IBM 7070 Series Programming Systems - Autocoder (PDF), IBM Systems Reference Library (First ed.), IBM Corporation, 1961, C28-6121-0
- Reference Manual - IBM 7080 Programming Systems - 7080 Processor: Autocoder Language (PDF), IBM Systems Reference Library (First ed.), IBM Corporation, 1962, C28-6263
- 7010: Weik 1964, p. 0160; 7030:"IBM Stretch (aka IBM 7030 Data Processing System)", "Compilers and Computers: Partners in Performance" (PDF); 7070: Tom Van Vleck, "The IBM 7070", A Third Survey of Domestic Electronic Digital Computing Systems, Martin H. Weik, "IBM 7070", Ballistic Research Laboratories, Aberdeen Proving Ground, Maryland; 7080: ; 1400 series: , 1410 Autocoder (PDF).
- Weik 1964, p. 0202.
- Autocoder (on Tape) Language Specifications and Operating Procedures IBM 1401 and 1460 Program 1401-AU-037 (PDF), IBM Systems Reference Library (First ed.), IBM Corporation, November 1964, C24-3319-0
- Autocoder (on Disk) Language Specifications IBM 1401, 1440, and 1460 (PDF), IBM Systems Reference Library (Third ed.), IBM Corporation, April 1966, C24-3258-2
- ; Solomon 1993, p. 8; "Archived copy". Archived from the original on 2007-09-17. Retrieved 2007-03-18.CS1 maint: archived copy as title (link).
- , .
- Gary Mokotoff Collection of IBM 1401 Program Listings, 1959-1961
- Allen, F. E., "The history of language processor technology at IBM", IBM Journal of Research and Development, 25(5), pp. 535-548 (September 1981).
- Goldfinger, Roy, "The IBM Type 705 Autocoder". Proceedings East Joint Computer Conf., San Francisco, 1956.
- Hopper, Grace, "Automatic Coding for Digital Computers" in the High Speed Computer Conference, Louisiana Stat (1955) the High Speed Computer Conference, Louisiana State University, 16 Feb. 1955, Remington Rand, Inc., 1955.
- Salomon, David, Assemblers And Loaders (Horwood, 1993), ISBN 0-13-052564-2.
- Weik, Martin H., A Fourth Survey of Domestic Electronic Digital Computing Systems,BRL Report No. 1227, January 1964 (Ballistic Research Laboratories, Aberdeen Proving Ground, Maryland).