ACM Logo

Ada 95: The Language For A Complex World

Here you will find information about Ada 95.

Ada World blue logo

Home   About Ada
  Ada Basic Information
  Ada FAQs
  Creating Ada Software
  Ada Logos
Ada Awareness
  Ada answers
  Ada Information Clearinghouse
  Ada Usage and Success Stories
  Interesting Ada Articles
  Who's Using Ada?
  SIGAda's Booth Schedule
  “Powered by Ada” Poster Gallery
Ada Community
  Ada in Universities
  Ada Organizations Around the World
  Ada Related Conferences
  Contacting Others in Ada Community
  Local SIGAda Chapters
  Ada Vendors
  Ada Information Resources
  In Memoriam
SIGAda Organization
  SIGAda Working Groups
  Ada Letters
  SIGAda Awards
  SIGAda Officers
  Membership Benefits
ACM and SIGAda Info
  Joining ACM or SIGAda
  Previous SIGAda Conferences
  History of SIGAda
  Augusta Ada (Byron) Lovelace
  Women in Computer Science
  Computer Science Guide
  ACM Anti-Harassment Policy

Named in honor of the world's first published computer programmer, Ada Byron King, Countess of Lovelace, Ada is a high-level programming language designed specifically for developing applications where correctness, safety, reliability, and maintainability are primary requirements.

Ada is an industrial-strength language used throughout the world in the domains of avionics, communication, space, transportation, military, and industrial process control. Ada is frequently the hidden software that makes life safe in applications that fly most passenger/private aircraft as well as control these aircraft on the ground. Ada is found in high-speed trains, metro systems, tunnels, cell phones, and pleasure boats. Recently Ada has migrated to the medical, energy, financial, and Internet domains. Because of its reliability, Ada is even used to order movies from TV set top boxes. When a software failure can result in a human life or a substantial financial loss, Ada is the language of choice.

The Ada language was originally developed to address the mission-critical needs of military systems, which were characterized as having hard real-time, distributed, and safety-critical requirements. It was characterized as having strong typing, exception processing, and language structure. Strong typing is important to significantly reduce common programming errors by explicitly mapping objects to the appropriate types. Exception processing allowed for the handling of dangerous hardware and software conditions encountered during execution, facilitating the return to a known safe state. The language structure added mechanisms to support key software engineering goals to improve the quality of programs.

The Ada language had a major update in 1995 (Ada 95). The major enhancements included full object-oriented programming (OOP), robust real-time/distribution facilities (that includes features such as multi-threading, protected objects, alternative scheduling models), and support of programming-in-the-large for the development of very large applications with many programmers. It is intended to work well in a multi-language environment and has standardized features to support interfacing to other languages to facilitate reuse.

The Ada Language Reference Manual defines the core language and a large number of standard library packages. The Ada Rationale provides a description of the main features of the language and library and explanations of the choices made by the language designers. There are also a number of secondary standards available. A noteworthy one is the Ada Semantic Interface Specification (ASIS), which defines an interface to the Ada compilation environment. This facilitates the use of code analysis tools to assess code quality, which could result in program failure (e.g., infinite loops, logic errors, paths in a subprogram that do not set all out parameters). Such errors are frequently very difficult to detect in other programming languages.

Excellent free and commercial Ada compilers and development tools are available for a wide variety of development and target processors. To ensure that Ada compilers generate high-quality code that is relatively portable between competing vendors' compilation environments, Ada compilers are tested for conformance to the Ada ISO standard by an outside laboratory. The list of conforming compilers is available on the Ada Information Clearinghouse (AdaIC) website along with a host of other valuable Ada information.

University experience shows that student programmers have less difficulty learning Ada than other languages. The feedback provided by an Ada compiler points out many errors that other language compilers cannot detect. A study of difficult bugs in commercial software collaborates this experience. Ada compilers would have detected nearly 90% of the errors found in the C family software analyzed. This study provides insight as to why Ada is used for applications with correctness, safety, reliability, and maintainability requirements.

Ada 95 is the first internationally standardized object-oriented programming language. Ada 95 was approved as an ISO standard on 15 February 1995, superseding the 1983/1987 standards. The Ada 95 ISO standard was updated in 2001 with a number of minor corrections using the Technical Corrigendum process. The current ISO Ada standard with Technical Corrigendum is known as:

ISO/IEC 8652:1995 Information Technology -- Programming Languages -- Ada ISO/IEC 8652:1995/Cor 1:2001 Information Technology -- Programming Languages -- Ada

The Ada standards are available from ISO by going to the "ISO Catalogue" section, selecting the "search option" of "Text", "Type in search string" of "Ada", and selecting "Start Search".

Ada is distributed as national Standards as well. For example, as of March 2002, Ada is available as a Japanese International Standard in the Japanese language; in the United States, Ada is available as:

ANSI/ISO/IEC 8652-1995 Information Technology -- Programming Languages -- Ada ISO/IEC 8652/Cor1:2001

ISO requires all standards to be updated every ten years. Currently, Ada experts and working groups around the world are reexamining Ada to update the standard. In this way, the Ada community guarantees that the language keeps abreast of modern technology particularly that associated with current software engineering practices and new hardware innovations.

Last Update: 8 August 2016