Ada was first defined in 1980 as the US Department of Defense's standard programming language, published as MIL-STD-1815. The number was a tribute to Ada Lovelace, born in 1815, after whom the language is named. The path from requirement documents to standard is the story of how Jean Ichbiah's Green language became Ada: a French team won an international design competition and produced one of the most carefully engineered languages ever built.
How Jean Ichbiah's Green language became Ada
By the mid-1970s the DoD was using several hundred programming languages and dialects across its embedded systems, which made software expensive and hard to maintain. In 1975 it formed the High Order Language Working Group to find one language for all of them. The group wrote a series of increasingly detailed requirement documents named Strawman, Woodenman, Tinman, Ironman and finally Steelman in 1978.
No existing language met them, so the DoD ran a competition. Four teams were selected and identified by colours. The finalists were Red, from Intermetrics, and Green, from a team at CII Honeywell Bull in France led by Jean Ichbiah. In 1979 Green was chosen and renamed Ada. Ichbiah's team had experience with LIS, an earlier systems language, and the design drew heavily on Pascal, ALGOL 68 and Simula.
After public review the first standard appeared in December 1980. The revised ANSI/MIL-STD-1815A of 1983 is the version known as Ada 83, and it became an ISO standard in 1987.
Ada standards over time
| Version | Key additions |
|---|---|
| Ada 83 | Packages, generics, tasks and rendezvous, exceptions, strong typing |
| Ada 95 | Object-oriented programming (tagged types), protected objects, hierarchical libraries. Led by S. Tucker Taft at Intermetrics; often cited as the first ISO-standard object-oriented language. |
| Ada 2005 | Interfaces, the Ravenscar profile, container library |
| Ada 2012 | Contracts: preconditions, postconditions, type invariants |
| Ada 2022 | Parallel blocks and loops, more contract and container features |
Design and key features
Ada was designed for large, long-lived systems where errors are expensive. Its readability is deliberate: code is read far more often than written, so Ada favours keywords over symbols.
- Strong typing with range constraints: you can define a type such as
range 0 .. 100, and the compiler and runtime enforce it. - Packages with separate specification (
.ads) and body (.adb) files. - Generics for type-safe reusable components.
- Built-in concurrency: tasks, rendezvous and protected objects are part of the language, not a library.
- Exceptions and runtime checks for array bounds, overflow and null access.
- Contracts since Ada 2012, checked at runtime or proved statically.
with Ada.Text_IO; use Ada.Text_IO;
procedure Thermostat is
type Celsius is range -50 .. 150;
Target : Celsius := 21;
begin
Target := Target + 5;
Put_Line ("Target:" & Celsius'Image (Target));
end Thermostat;
Assigning 200 to Target would raise Constraint_Error instead of silently producing a bad value, and mixing Celsius with an unrelated integer type would not compile at all.
Where Ada is used
Ada found its home in software where failure can cost lives. It is used in avionics, including flight software on the Boeing 777, in air traffic control systems, in railway signalling and metro systems, in satellites and launchers, and in military systems. The free GNAT compiler, started at New York University and now maintained by AdaCore as part of GCC, made Ada widely accessible from the 1990s onward.
Ada also features in a famous failure. The first Ariane 5 flight in 1996 was lost when inertial reference software reused from Ariane 4 hit an unhandled overflow in a conversion. The language did its job by raising an exception; the problem was a design decision to leave that conversion unprotected and to reuse code without re-checking its assumptions.
SPARK and influence
SPARK is a subset of Ada with tools that can mathematically prove the absence of runtime errors and check functional properties. It is used in security-sensitive and safety-critical work, and NVIDIA has publicly described adopting SPARK for some firmware. Ada influenced the hardware description language VHDL, Oracle's PL/SQL, Eiffel, and parts of C++ such as templates and exceptions.
Is Ada still used today?
Yes. The DoD dropped its Ada mandate in 1997, but the language stayed in aerospace, defence, rail and other certified domains, and interest has grown again as memory safety becomes a priority. Tracing how Jean Ichbiah's Green language became Ada shows a language that was designed by requirement and review rather than by accident, which is exactly why it is still trusted with flight controls and train signals.
Frequently asked questions
Why is the Ada standard called MIL-STD-1815?
The number 1815 is the birth year of Ada Lovelace, the 19th-century mathematician who wrote about Charles Babbage's Analytical Engine. The language was named in her honour, and the standard number continued the tribute.
Who designed Ada 95?
Ada 95 was designed by a team at Intermetrics led by S. Tucker Taft. It added object-oriented programming through tagged types, protected objects for efficient concurrency, and child packages, while staying compatible with most Ada 83 code.
Is Ada safer than C or C++?
Ada has stronger typing, range checks, bounds checks and built-in concurrency, so many classes of bugs common in C are caught at compile time or runtime. With SPARK, some properties can even be proved. As with any language, safety still depends on design, testing and process.







