Content deleted Content added
Undid revision 1286651678 by 2A00:1FA0:8608:6C41:0:23:9CC3:C101 (talk) |
m →Standardization: fix common MOS:REFSPACE spacing errors, replaced: {{Efn → {{Efn, /ref>( → /ref> ( (2) |
||
(10 intermediate revisions by 8 users not shown) | |||
Line 29:
}}
[[File:Ada Mascot with slogan.svg|thumb|Ada mascot with slogan]]
'''Ada''' is a [[structured programming|structured]], [[statically typed]], [[Imperative programming|imperative]], and [[Object-oriented programming|object-oriented]] [[high-level programming language]], inspired by [[Pascal (programming language)|Pascal]] and other languages. It has built-in language support for ''[[design by contract]]'' (DbC), extremely [[Strong and weak typing|strong typing]], explicit concurrency, tasks, synchronous [[message passing]], protected [[Object (computer science)|objects]], and [[nondeterministic programming|non-determinism]]. Ada improves code safety and maintainability by using the [[compiler]] to find errors in favor of [[Runtime (program lifecycle phase)|runtime]] errors. Ada is an [[International standard|international]] [[technical standard]], jointly defined by the [[International Organization for Standardization]] (ISO), and the [[International Electrotechnical Commission]] (IEC). {{As of|May 2023}}, the standard, ISO/IEC 8652:2023, is called Ada 2022 informally.<ref name="ada-letters-june2023">{{cite journal |last1=Pinho |first1=Luis Miguel |title=From the Editor's Desk |journal=Ada Letters |volume=XLIII |number=1 |publisher=Association for Computing Machinery |date=June 2023 |page=3 |doi=10.1145/3631483 |doi-broken-date=1 November 2024 |url=https://dl.acm.org/action/showFmPdf?doi=10.1145%2F3631483}}</ref>▼
▲'''Ada''' is a [[structured programming|structured]], [[statically typed]], [[Imperative programming|imperative]], and [[Object-oriented programming|object-oriented]] [[high-level programming language]], inspired by [[Pascal (programming language)|Pascal]] and other languages. It has built-in language support for ''[[design by contract]]'' (DbC), extremely [[Strong and weak typing|strong typing]], explicit concurrency, tasks, synchronous [[message passing]], protected [[Object (computer science)|objects]], and [[nondeterministic programming|non-determinism]]. Ada improves code safety and maintainability by using the [[compiler]] to find errors in favor of [[Runtime (program lifecycle phase)|runtime]] errors. Ada is an [[International standard|international]] [[technical standard]], jointly defined by the [[International Organization for Standardization]] (ISO), and the [[International Electrotechnical Commission]] (IEC). {{As of|May 2023}}, the standard, ISO/IEC 8652:2023, is called Ada 2022 informally.<ref name="ada-letters-june2023">{{cite journal |last1=Pinho |first1=Luis Miguel |title=From the Editor's Desk |journal=Ada Letters |volume=XLIII |number=1 |publisher=Association for Computing Machinery |date=June 2023 |page=3 |doi=10.1145/3631483 |doi-broken-date=1
Ada was originally designed by a team led by French [[computer scientist]] [[Jean Ichbiah]] of [[Groupe Bull|Honeywell]] under contract to the [[United States Department of Defense]] (DoD) from 1977 to 1983 to supersede over 450 programming languages then used by the DoD.<ref>{{cite web|title=The Ada Programming Language|url=http://groups.engin.umd.umich.edu/CIS/course.des/cis400/ada/ada.html|website=University of Mich|access-date=27 May 2016|archive-url=https://web.archive.org/web/20160522063844/http://groups.engin.umd.umich.edu/CIS/course.des/cis400/ada/ada.html|archive-date=2016-05-22}}</ref> Ada was named after [[Ada Lovelace]] (1815–1852), who has been credited as the first computer programmer.<ref>{{cite journal|doi=10.1109/MAHC.2003.1253887|title=Lovelace & Babbage and the creation of the 1843 'notes'|journal=IEEE Annals of the History of Computing|volume=25|issue=4|pages=16–26|year=2003|last1=Fuegi|first1=J|last2=Francis|first2=J|s2cid=40077111}}</ref>
Line 65 ⟶ 67:
HOLWG crafted the '''<span class="anchor" id="Steelman language requirements">Steelman language requirements</span>''' , a series of documents stating the requirements they felt a programming language should satisfy. Many existing languages were formally reviewed, but the team concluded in 1977 that no existing language met the specifications. The requirements were created by the [[United States Department of Defense]] in ''The Department of Defense Common High Order Language program'' in 1978. The predecessors of this document were called, in order, "Strawman", "Woodenman", "Tinman" and "Ironman".<ref>Department of Defense (June 1978), [https://web.archive.org/web/20200914235620/https://dwheeler.com/steelman/steelman.htm Requirements for High Order Computer Programming Languages: "Steelman"]</ref> The requirements focused on the needs of [[embedded systems|embedded]] computer applications, and emphasised reliability, maintainability, and efficiency. Notably, they included [[exception handling]] facilities, [[run-time checking]], and [[parallel computing]].
It was concluded that no existing language met these criteria to a sufficient extent,<ref>SoftTech Inc. (1976), [[iarchive:
[[File:Ada Lovelace portrait.jpg|thumb|225x225px|Watercolour painting of Ada Lovelace]]
Line 74 ⟶ 76:
The first validated Ada implementation was the NYU Ada/Ed translator,<ref>{{cite web |url=http://oai.dtic.mil/oai/oai?verb=getRecord&metadataPrefix=html&identifier=ADA136759 |title=Ada Compiler Validation Summary Report: NYU Ada/ED, Version 19.7 V-001 |author=SofTech Inc. |place=Waltham, MA |date=1983-04-11 |access-date=2010-12-16 |archive-url=https://web.archive.org/web/20120312080046/http://oai.dtic.mil/oai/oai?verb=getRecord&metadataPrefix=html&identifier=ADA136759 |archive-date=2012-03-12 }}</ref> certified on April 11, 1983. NYU Ada/Ed is implemented in the high-level set language [[SETL]].<ref>{{cite book |last1=Dewar |first1=Robert B. K. |last2=Fisher |first2=Gerald A. Jr. |last3=Schonberg |first3=Edmond |last4=Froelich |first4=Robert |last5=Bryant |first5=Stephen |last6=Goss |first6=Clinton F. |last7=Burke |first7=Michael |title=Proceeding of the ACM-SIGPLAN symposium on Ada programming language – SIGPLAN '80 |chapter=The NYU Ada translator and interpreter |volume=15 |issue=11 |pages=194–201 |date=November 1980 |isbn=0-89791-030-3 |doi=10.1145/948632.948659|s2cid=10586359}}</ref> Several commercial companies began offering Ada compilers and associated development tools, including [[Alsys]], [[TeleSoft]], [[DDC-I]], [[Advanced Computer Techniques]], [[Tartan Laboratories]], [[Irvine Compiler]], [[TLD Systems]], and [[Verdix]].<ref name="adaic-1992">{{cite news |title=Ada Validated Compilers List |publisher=Ada Information Clearinghouse |date=July 1, 1992 |pages=1–36}}</ref> Computer manufacturers who had a significant business in the defense, aerospace, or related industries, also offered Ada compilers and tools on their platforms; these included [[Concurrent Computer Corporation]], [[Cray Research, Inc.]], [[Digital Equipment Corporation]], [[Harris Computer Systems]], and [[Siemens Nixdorf Informationssysteme AG]].<ref name="adaic-1992" />
In 1991, the US Department of Defense began to require the use of Ada (the ''Ada mandate'') for all software,<ref>{{cite web|url=http://archive.adaic.com/pol-hist/policy/mandate.txt |title=The Congressional Ada Mandate |author=Ada Information Clearinghouse |date=1994 |access-date=2015-06-07 |archive-url=https://web.archive.org/web/20160304073005/http://archive.adaic.com/pol-hist/policy/mandate.txt |archive-date=2016-03-04}}</ref> though exceptions to this rule were often granted.<ref name="sward" /> The Department of Defense Ada mandate was effectively removed in 1997, as the DoD began to embrace [[commercial off-the-shelf]] (COTS) technology.<ref name="sward">{{cite conference |contribution=The rise, fall and persistence of Ada |first=Ricky E. |last=Sward |date=November 2010 |title=SIGAda '10: Proceedings of the ACM SIGAda annual international conference on SIGAda |pages=71–74 |url=http://dl.acm.org/citation.cfm?id=1879063.1879081&coll=DL&dl=GUIDE&CFID=551420221&CFTOKEN=60383966 | doi=10.1145/1879063.1879081|isbn=978-1-4503-0027-8|url-access=subscription }}</ref> Similar requirements existed in other [[North Atlantic Treaty Organization|NATO]] countries: Ada was required for NATO systems involving [[command and control]] and other functions, and Ada was the mandated or preferred language for defense-related applications in countries such as Sweden, Germany, and Canada.<ref>{{cite book |url=http://apps.dtic.mil/dtic/tr/fulltext/u2/a217657.pdf |archive-url=https://web.archive.org/web/20191215065214/http://www.dtic.mil/dtic/tr/fulltext/u2/a217657.pdf |url-status=live |archive-date=December 15, 2019 |first=Nicholas J. |last=Babiak |title=Ada, the New DoD Weapon System Computer Language – Panacea or Calamity |publisher=[[Air University (United States Air Force)]] |date=1989 |pages=39–40}}</ref>
By the late 1980s and early 1990s, Ada compilers had improved in performance, but there were still barriers to fully exploiting Ada's abilities, including a tasking model that was different from what most real-time programmers were used to.<ref name="SIGAda-Rosen" />
Line 119 ⟶ 121:
Preliminary Ada can be found in ACM Sigplan Notices Vol 14, No 6, June 1979<ref>{{cite web|url=https://dl.acm.org/doi/pdf/10.1145/956650.956651 |title=ACM Sigplan Notices |volume=14 |number= 6 |date=June 1979|pages=1–145 |doi=10.1145/956650.956651 |last1=Ichbiah |first1=J. D.}}</ref>
Ada was first published in 1980 as an [[American National Standards Institute|ANSI]] standard ANSI/'''MIL-STD 1815'''. As this very first version held many errors and inconsistencies
'''Ada 95''', the joint ISO/IEC/ANSI standard ISO/IEC 8652:1995<ref>{{Cite web |last= |title=ISO/IEC 8652:1995 |url=https://www.iso.org/standard/22983.html |access-date=2024-01-19 |website=ISO |language=en}}</ref><ref>{{Cite web |title=Ada 95 Language Reference Manual (original) – Ada Resource Association |url=https://www.adaic.org/ada-resources/standards/ada-95-documents/lrm-original/ |access-date=2024-01-19 |website=www.adaic.org}}</ref> was published in February 1995, making it the first ISO standard object-oriented programming language. To help with the standard revision and future acceptance, the [[US Air Force]] funded the development of the [[GNAT]] [[Compiler]]. Presently, the GNAT Compiler is part of the [[GNU Compiler Collection]].
Line 125 ⟶ 127:
Work has continued on improving and updating the technical content of the Ada language. A Technical Corrigendum to Ada 95 was published in October 2001,<ref>[https://www.iso.org/standard/35451.html ISO/IEC 8652:1995/Corr 1:2001]</ref><ref>[http://www.adaic.org/standards/95lrm/html/RM-TTL.html Ada 95 RM with TC 1]</ref> and a major Amendment, ISO/IEC 8652:1995/Amd 1:2007 <ref>{{Cite web |last= |title=ISO/IEC 8652:1995/Amd 1:2007 |url=https://www.iso.org/standard/45001.html |access-date=2024-01-19 |website=ISO |language=en}}</ref><ref>{{Cite web |title=Ada Reference Manual, ISO/IEC 8652:2007(E) Ed. 3 |url=https://www.adaic.org/resources/add_content/standards/05rm/html/RM-TTL.html |access-date=2024-01-19 |website=www.adaic.org}}</ref> was published on March 9, 2007, commonly known as '''Ada 2005''' because work on the new standard was finished that year.
At the Ada-Europe 2012 conference in Stockholm, the Ada Resource Association (ARA) and Ada-Europe announced the completion of the design of the latest version of the Ada language and the submission of the reference manual to the [[ISO/IEC JTC 1/SC 22]]/WG 9 of the [[International Organization for Standardization]] (ISO) and the [[International Electrotechnical Commission]] (IEC) for approval. ISO/IEC 8652:2012<ref>{{Cite web |last= |date=2013-03-28 |title=ISO/IEC 8652:2012 |url=https://www.iso.org/standard/61507.html |access-date=2024-01-19 |website=ISO |language=en}}</ref> (see [https://www.adaic.org/resources/add_content/standards/12rm/html/RM-TTL.html Ada 2012 RM]) was published in December 2012, known as '''Ada 2012'''. A technical corrigendum, ISO/IEC 8652:2012/COR 1:2016, was published <ref>{{Cite web |last= |title=ISO/IEC 8652:2012/Cor 1:2016 |url=https://www.iso.org/standard/69798.html |access-date=2024-01-19 |website=ISO |language=en}}</ref> (see [http://www.ada-auth.org/standards/rm12_w_tc1/html/RM-TTL.html RM 2012 with TC 1]).
On May 2, 2023, the Ada community saw the formal approval of publication of the '''Ada 2022''' edition of the programming language standard.<ref name="ada-letters-june2023" />
Despite the names Ada 83, 95 etc., legally there is only one Ada standard,
Other related standards include [[Graphical Kernel System|ISO/IEC 8651]]-3:1988 ''Information processing systems—Computer graphics—Graphical Kernel System (GKS) language bindings—Part 3: Ada''.
Line 401 ⟶ 403:
[[Category:.NET programming languages]]
[[Category:Avionics programming languages]]
[[Category:High-integrity
[[Category:Multi-paradigm programming languages]]
[[Category:Programming language standards]]
|