1 The history of Ada


Overview

An understanding of the reasons why Ada was developed and the history of its development gives an appreciation of the language and its future.


History of Ada.

In 1974 the US Department of Defence (DoD) realised that it was spending too much time, effort and money developing and maintaining embedded computer systems (systems stuck in hardware e.g. missile guidance systems).

At this time over 450 different languages or language extensions were in use. This increased the time and costs for developing new systems and in continually retraining people to become familiar with existing systems. Maintenance was also hampered by the lack of standardisation of support tools ( editors, compilers etc). All these factors led to the DoD realising it needed a single powerful language that could be used by all embedded computer suppliers.

The developement work began in 1975 with the DoD producing a list of language requirements which was widely circulated; however no existing language specified the criteria so in 1977 DoD requested proposals for a new language. Unlike committee languages such as COBOL, the new language was the subject of a competition and extensive industry and academic review.

Of numerous entries four were selected for further refinement. This was later cut down to two competing entries from which one was finally selected from the company Cii-Honeywell Bull. This language was christened Ada. The design team was led by Jean Ichbiah who had overall control over the language.

In 1983 the language became an ANSI standard ANSI/MIL-STD-1815A. It became an ISO standard the following year. The language is defined in a reference manual often referred to as the LRM. References to this manual occur often in books on the language, and in many compiler error messages. This book is recommended for any Ada site; although hard to read it is the final authority for any Ada question (an ongoing group has been formed to clarify any inconsistancies detected in the language).

The language has since undergone revision, with ISO standardisation of the new standard achieved in early 1995. This new Ada fixes many of the flaws in the original language, and extends it in many useful ways.

To prevent the proliferation of various imcompatable versions of Ada the Ada Joint Program Office (the body set up for control of the language) took a very novel position - they trademarked the name Ada. You were not allowed to market "Ada" compilers unless they have passed a compliance test. This has subsequently been relaxed, the protected term now being `Validated Ada'.
The resulting Ada validation certificate is limited in duration and has an expiry date. Once it expires the compiler can no longer be marketed as a `Validated Ada' compiler. In this way the AJPO has ensured that all currently marketed compilers comply with the current standards.

The aim is to ensure that any Ada program can be compiled on any system - in this regard the AJPO has succeeded better than many other language groups.


Design Goals

From the Ada LRM:
"Ada was designed with three overriding concerns: program reliability and maintenance, programming as a human activity, and efficiency"

Of note is the sentence, also from the LRM:

"Hence emphasis was placed on program readability over ease of writing".

These design goals can be seen in the language. It has strong typing and enforcable abstractions which have shown to increase reliability and ease maintenance.

It eschews cryptic syntax for a more verbose English style for the sake of readability (readability, programming as a human activity). Also almost all constructs can be efficiently implemented.