# A-0 System

> Mediated Wiki article. Canonical URL: https://mediated.wiki/source/A-0_System
> Markdown URL: https://mediated.wiki/source/A-0_System.md
> Source: https://en.wikipedia.org/wiki/A-0_System
> Source revision: 1317154130
> License: Creative Commons Attribution-ShareAlike 4.0 International (https://creativecommons.org/licenses/by-sa/4.0/)

{{Short description|Programming language}}
The '''A-0 system''' (''Arithmetic Language version 0'') was an early<ref>{{cite web | title=List of early compilers and assemblers | url=http://shape-of-code.coding-guidelines.com/2017/05/21/evidence-for-28-possible-compilers-in-1957}}</ref> [compiler](/source/compiler)-related tool developed for electronic computers, written by [Grace Murray Hopper](/source/Grace_Hopper)<ref>{{cite book |last1=Ridgway|first1=Richard|title=Proceedings of the 1952 ACM national meeting (Toronto) on - ACM '52 |chapter=Compiling routines |date=1952|pages=1–5 |doi=10.1145/800259.808980 |isbn=9781450379250 |s2cid=14878552 |doi-access=free}}</ref> in 1951 and 1952 originally for the [UNIVAC I](/source/UNIVAC_I).<ref>Hopper "Keynote Address", Sammet pg. 12</ref> The A-0 functioned more as a [loader](/source/Loader_(computing)) or [linker](/source/Linker_(computing)) than the modern notion of a compiler.<ref>{{ cite conference |last=Hopper|first=Grace|title=Keynote Address|doi=10.1145/800025.1198341 |book-title=Proceedings of the ACM SIGPLAN History of Programming Languages (HOPL) conference, June 1978 | url=https://dl.acm.org/doi/pdf/10.1145/800025.1198341|url-access=subscription}}</ref><ref>{{ cite web |last=Bruderer|first=Herbert|title=Did Grace Hopper Create the First Compiler? | url=https://cacm.acm.org/blogs/blog-cacm/268001-did-grace-hopper-create-the-first-compiler/fulltext}}</ref><ref>{{cite journal |last1=Strawn |first1=George |last2=Strawn |first2=Candace |title=Grace Hopper: Compilers and Cobol | url = https://www.computer.org/csdl/magazine/it/2015/01/mit2015010062/13rRUxCitFF |journal=IT Professional |date=2015 |volume=17 |issue=Jan.-Feb. 2015 |pages=62–64 |doi=10.1109/MITP.2015.6 |url-access=subscription }} </ref> 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](/source/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,<ref>* {{cite journal |date=Sep 1955 |title=PAPERS: Automatic Programming: The A 2 Compiler System -- Part I |url=https://archive.org/details/sim_computers-and-people_1955-09_4_9/page/n24/ |journal=Computers and Automation |volume=4 |issue=9 |pages=25–29 |access-date=2020-09-05}}
* {{cite journal |date=Oct 1955 |title=PAPERS: Automatic Programming: The A 2 Compiler System -- Part II |url=https://archive.org/details/sim_computers-and-people_1955-10_4_10/page/15/ |journal=Computers and Automation |volume=4 |issue=10 |pages=15–27 |access-date=2020-09-05}}</ref> A-3 (released as [ARITH-MATIC](/source/ARITH-MATIC)), AT-3 (released as [MATH-MATIC](/source/MATH-MATIC)), and B-0 (released as [FLOW-MATIC](/source/FLOW-MATIC)).

The A-2 system was developed at the [UNIVAC division of Remington Rand](/source/UNIVAC) in 1953 and released to customers by the end of that year.<ref>{{cite book | last=Ceruzzi | first=Paul | title=A History of Modern Computing | url=https://archive.org/details/historyofmodernc00ceru | url-access=registration | publisher=The MIT Press | date=1998 | isbn=9780262032551 }}</ref>  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](/source/free_and_open-source_software).<ref>{{cite web | title=Heresy & Heretical Open Source: A Heretic's Perspective | url=http://www.infoq.com/presentations/Heretical-Open-Source}}</ref>

==See also==
* [History of compiler construction](/source/History_of_compiler_construction)

==Notes==
<references/>

==External links==
* [https://web.archive.org/web/20130104114928/http://bitsavers.informatik.uni-stuttgart.de/pdf/mit/summer_session_1954/Digital_Computers_Advanced_Coding_Techniques_Summer_1954.pdf Proceedings of the 1954 MIT Summer Session on "Digital Computers - Advanced Coding Techniques, section 7 - A2 Compiler and Associated Routines for use with Univac]

==References==
#{{ cite conference |last=Hopper|first=Grace|title=The Education of a Computer|book-title=Proceedings of the Association for Computing Machinery Conference (Pittsburgh) May 1952|date=May 1952|pages=243–249|doi=10.1145/609784.609818|url=http://xover.mud.at/~marty/iug2/p243-hopper.pdf}}
#{{ cite conference |last=Hopper|first=Grace|title=Automatic Coding for Digital Computers|book-title=High Speed Computer Conference (Louisiana State University) February 1955|publisher=Remington Rand|date=16 February 1955 | url=http://bitsavers.informatik.uni-stuttgart.de/pdf/univac/HopperAutoCodingPaper_1955.pdf }}
#{{cite conference |last=Hopper|first=Grace|title=Keynote Address|book-title=Proceedings of the ACM SIGPLAN History of Programming Languages (HOPL) conference }}
#{{cite conference |last=Ridgway|first=Richard K.|title=Compiling Routines|book-title= 	Proceedings of the 1952 ACM national meeting (Toronto) ACM '52|year=1952 }}
#{{cite book | last = Sammet | first = Jean | title = Programming Languages: History and Fundamentals|publisher=Prentice-Hall|year=1969|pages=g. 12}}

Category:Procedural programming languages
Category:Programming languages created in 1951

---
Adapted from the Wikipedia article [A-0 System](https://en.wikipedia.org/wiki/A-0_System) by Wikipedia contributors ([contributor history](https://en.wikipedia.org/wiki/A-0_System?action=history)). Available under [Creative Commons Attribution-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-sa/4.0/). Changes may have been made.
