Ada (programming language)

Ada
Green logo on horizon with Ada letters and slogan
ParadigmMulti-paradigm: structured, imperative, object-oriented, aspect-oriented,[1] concurrent, array, distributed, generic, procedural, meta
FamilyPascal
Designed by
  • MIL-STD-1815, Ada 83: Jean Ichbiah
  • Ada 95: Tucker Taft
  • Ada 2005: Tucker Taft
  • Ada 2012: Tucker Taft
First appearedFebruary 1980 (1980-02)
Stable release
Ada 2022 / May 2023
Typing disciplinestatic, strong, safe, nominal
OSMulti- or cross-platform
Filename extensions.adb, .ads
Websitewww.adaic.org
Major implementations
AdaCore GNAT,[2]
Green Hills Software Optimising Ada 95 compiler,
PTC ApexAda and ObjectAda,[3]
MapuSoft Ada-C/C++ changer,[4] formerly known as "AdaMagic with C Intermediate",[5]
DDC-I Score
Dialects
SPARK, Ravenscar profile
Influenced by
ALGOL 68, Pascal, Simula 67,[6] C++ (Ada 95), Smalltalk (Ada 95), Modula-2 (Ada 95) Java (Ada 2005), Eiffel (Ada 2012)
Influenced
C++, Chapel,[7] Drago,[8] D, Eiffel, Griffin,[9] Java, Nim, ParaSail, PL/SQL, PL/pgSQL, Python, Ruby, Seed7, SPARforte,[10] Sparkel, SQL/PSM, VHDL

Ada is a structured, statically typed, imperative, and object-oriented high-level programming language, inspired by Pascal and other languages. It has built-in language support for design by contract (DbC), extremely strong typing, explicit concurrency, tasks, synchronous message passing, protected objects, and non-determinism. Ada improves code safety and maintainability by using the compiler to find errors in favor of runtime errors. Ada is an international technical standard, jointly defined by the International Organization for Standardization (ISO), and the International Electrotechnical Commission (IEC). As of May 2023, the standard, called Ada 2022 informally, is ISO/IEC 8652:2023.[11]

Ada was originally designed by a team led by French computer scientist Jean Ichbiah of Honeywell under contract to the United States Department of Defense (DoD) from 1977 to 1983 to supersede over 450 programming languages used by the DoD at that time.[12] Ada was named after Ada Lovelace (1815–1852), who has been credited as the first computer programmer.[13]

  1. ^ "Ada2012 Rationale" (PDF). adacore.com. Archived (PDF) from the original on 18 April 2016. Retrieved 5 May 2018.
  2. ^ "Commercial software solutions for Ada, C and C++". AdaCore. Retrieved Apr 4, 2023.
  3. ^ "PTC ObjectAda". PTC.com. Retrieved 2014-01-27.
  4. ^ "MapuSoft Ada-C/C++ changer". 16 April 2019.
  5. ^ "Ada 95 Certified Processors List - Details". ada-auth.org. Retrieved Apr 4, 2023.
  6. ^ Ada Rationale, 1986, pp. 23, 70, 110–114, 137, 165, 236
  7. ^ "Chapel spec (Acknowledgements)" (PDF). Cray Inc. 2015-10-01. Archived (PDF) from the original on 2022-10-09. Retrieved 2016-01-14.
  8. ^ "Drago". Archived from the original on 2020-09-14. Retrieved 2018-08-06.
  9. ^ "The Griffin Project". cs.nyu.edu. Retrieved Apr 4, 2023.
  10. ^ "SparForte Programming Language". www.sparforte.com. Retrieved Apr 4, 2023.
  11. ^ Pinho, Luis Miguel (June 2023). "From the Editor's Desk". Ada Letters. XLIII (1). Association for Computing Machinery: 3. doi:10.1145/3631483 (inactive 31 January 2024).{{cite journal}}: CS1 maint: DOI inactive as of January 2024 (link)
  12. ^ "The Ada Programming Language". University of Mich. Archived from the original on 2016-05-22. Retrieved 27 May 2016.
  13. ^ Fuegi, J; Francis, J (2003). "Lovelace & Babbage and the creation of the 1843 'notes'". IEEE Annals of the History of Computing. 25 (4): 16–26. doi:10.1109/MAHC.2003.1253887. S2CID 40077111.