A-0 System

From Wikipedia, the free encyclopedia

The A-0 system (Arithmetic Language version 0), written by Grace Murray Hopper[1] in 1951 and 1952 for the UNIVAC I, was an early[2] compiler related tool developed for electronic computers.[3] The A-0 functioned more as a loader or linker than the modern notion of a compiler. A program was specified as a sequence of subroutines and its arguments. The subroutines were identified by a numeric code and the arguments to the subroutines were written directly after each subroutine code. The A-0 system converted the specification into machine code that could be fed into the computer a second time to execute the said program.

The A-0 system was followed by the A-1, A-2,[4] A-3 (released as ARITH-MATIC), AT-3 (released as MATH-MATIC) and B-0 (released as FLOW-MATIC).

The A-2 system was developed at the UNIVAC division of Remington Rand in 1953 and released to customers by the end of that year.[5] Customers were provided the source code for A-2 and invited to send their improvements back to UNIVAC. Thus, A-2 could be considered an example of the result of an early philosophy similar to free and open-source software.[6]

See also[edit]


  1. ^ Ridgway, Richard (1952). "Compiling routines". Proceeding ACM '52 Proceedings of the 1952 ACM National Meeting (Toronto): 1–5. doi:10.1145/800259.808980. S2CID 14878552.
  2. ^ "List of early compilers and assemblers".
  3. ^ Hopper "Keynote Address", Sammet pg. 12
  4. ^ *"PAPERS: Automatic Programming: The A 2 Compiler System -- Part I" (PDF). Computers and Automation. 4 (9): 25–29. Sep 1955. Retrieved 2020-09-05.
  5. ^ Ceruzzi, Paul (1998). A History of Modern Computing. The MIT Press.
  6. ^ "Heresy & Heretical Open Source: A Heretic's Perspective".

External links[edit]


  1. Hopper, Grace (May 1952). "The Education of a Computer" (PDF). Proceedings of the Association for Computing Machinery Conference (Pittsburgh) May 1952. pp. 243–249. doi:10.1145/609784.609818.
  2. Hopper, Grace (16 February 1955). "Automatic Coding for Digital Computers" (PDF). High Speed Computer Conference (Louisiana State University) February 1955. Remington Rand.
  3. Hopper, Grace. "Keynote Address". Proceedings of the ACM SIGPLAN History of Programming Languages (HOPL) conference.
  4. Ridgway, Richard K. (1952). "Compiling Routines". Proceedings of the 1952 ACM national meeting (Toronto) ACM '52.
  5. Sammet, Jean (1969). Programming Languages: History and Fundamentals. Prentice-Hall. pp. g. 12.