Intellectual Ammunition Department

Ada, The Language

Why Ada?
In 1974, the US DoD realized that having software for embedded computers developed and maintained in hundreds of (sometimes proprietary, often obsolete) programming languages was excessively costly. In 1975, the DoD established requirements for a high-level language that could be used in all defense projects. In 1976, 23 existing languages were formally reviewed; none met the requirements. It was concluded that a new language was needed.

Almost 20 language proposals were made by design teams, coming from various places in the world. Four contractors were selected to produce prototype languages (Red, Green, Blue, and Yellow), and finally one was chosen: Green, developped by a Honeywel/Bull team located in France, near Paris; the principal designer was Jean Ichbiah.

The language proposal and the requirements were repeatedly submitted to public review. The language was revised in response to hundreds of comments coming from academia and industry all over the world, and finally became an ANSI standard in 1983 (and an ISO standard in 1987).

This modern, high-level programming language was named Ada, in honor of the first programmer in history: Lady Ada Lovelace.

Ada and the Tower of Babel
A fair--although not perfect--comparison may be found in Contrasts: Ada and C++, E. Schoenberg, New York University, April 1992.

We also recommend that all software engineers read "C++? A Critique of C++," by Ian Joyner, Unisys - ACUS, Australia, 2nd ed. 1992; about 30 pages. The very large (700 KB) Postscript file of this paper can be viewed in WWW, but it's probably better to get the (After 6pm Eastern US Please) compressed version of the same file (250 KB -- European mirror) and print it.

Ada is now, since December 1994, the first standard object-oriented programming language.

(Details to be added: ISO/ANSI Ada in 1983, revision in 1994; ISO/ANSI C++ maybe in 1997; Smalltalk is in the early stages of the ANSI process; Eiffel has its own umbrella, NICE; CLOS passed ANSI in 1994; COBOL is moving...).

Ada Myths
"Ada compilers cost unreasonably more than C compilers"
Do you know how many errors an Ada compiler will catch for you? Do you realize how many simple errors a C compiler will let through? Do you care about run-time checking? Would you pay $1000 for a tool that brings to C what Ada already and always gives you: catching bugs both at compile- and run-time?

"The constructs of Ada are too difficult to understand"
Have you done a factual comparison with the constructs of other high-level programming languages? For instance, have you read the C++ reference manual? Have you found many C++ compilers which agree on what C++ constructs are? Take a look at C++ templates.

and more (e.g. "Ada is inefficient", "too complex")

Page last modified: 1998-12-20