{{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-related tool developed for electronic computers, written by Grace Murray 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.<ref>Hopper "Keynote Address", Sammet pg. 12</ref> The A-0 functioned more as a loader or linker 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 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), 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.<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.<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
==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