The A-0 system (Arithmetic Language version 0), written by Grace Hopper in 1951 and 1952 for the UNIVAC I, was the first compiler ever developed for an electronic computer. 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 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-2 system was developed at the UNIVAC division of Remington Rand in 1953 and released to customers by the end of that year. Customers were provided the source code for A-2 and invited to send their improvements back to UNIVAC. Thus A-2 was an early, and perhaps the first, example of free and open-source software. 
- Proceedings of the 1954 MIT Summer Session on "Digital Computers - Advanced Coding Techniques, section 7 - A2 Compiler and Associated Routines for use with Univac
- Hopper "Keynote Address", Sammet pg. 12
- Ceruzzi, Paul (1998). A History of Modern Computing. The MIT Press.
- "Heresy & Heretical Open Source: A Heretic's Perspective".
- Hopper, Grace. "The Education of a Computer". Proceedings of the Association for Computing Machinery Conference (Pittsburgh) May 1952.
- Hopper, Grace. "Automatic Coding for Digital Computers". High Speed Computer Conference (Louisiana State University) February 1955. Remington Rand.
- Hopper, Grace. "Keynote Address". Proceedings of the ACM SIGPLAN History of Programming Languages (HOPL) conference.
- Ridgway, Richard E. "Compiling Routines". Proceedings of the 1952 ACM national meeting (Toronto) ACM '52.
- Sammet, Jean (1969). Programming Languages: History and Fundamentals. Prentice-Hall. pp. g. 12.
|This programming-language-related article is a stub. You can help Wikipedia by expanding it.|