In the 1970s the
US Department of Defense (DoD) became concerned by the number of different programming languages being used for its embedded computer system projects, many of which were obsolete or hardware-dependent, and none of which supported safe modular programming. In 1975, a
working group, the
High Order Language Working Group (HOLWG), was formed with the intent to reduce this number by finding or creating a programming language generally suitable for the department's and the
UK Ministry of Defence's requirements. After many iterations beginning with an original
straw-man proposal the eventual programming language was named Ada. The total number of high-level programming languages in use for such projects fell from over 450 in 1983 to 37 by 1996. HOLWG crafted the
Steelman language requirements, a series of documents stating the requirements they felt a programming language should satisfy. Many existing languages were formally reviewed, but the team concluded in 1977 that no existing language met the specifications. The requirements were created by the
United States Department of Defense in
The Department of Defense Common High Order Language program in 1978. The predecessors of this document were called, in order, "Strawman", "Woodenman", "Tinman" and "Ironman". The requirements focused on the needs of
embedded computer applications, and emphasised reliability, maintainability, and efficiency. Notably, they included
exception handling facilities,
run-time checking, and
parallel computing. It was concluded that no existing language met these criteria to a sufficient extent, so a contest was called to create a language that would be closer to fulfilling them. The design that won this contest became the Ada programming language. The resulting language followed the Steelman requirements closely, though not exactly. Requests for proposals for a new programming language were issued and four contractors were hired to develop their proposals under the names of Red (
Intermetrics led by Benjamin Brosgol), Green (
Honeywell, led by
Jean Ichbiah), Blue (
SofTech, led by John Goodenough) and Yellow (
SRI International, led by Jay Spitzen). In April 1978, after public scrutiny, the Red and Green proposals passed to the next phase. In May 1979, the Green proposal, designed by Jean Ichbiah at Honeywell, was chosen and given the name Ada—after Augusta Ada King, Countess of Lovelace, usually known as
Ada Lovelace. This proposal was influenced by the language
LIS that Ichbiah and his group had developed in the 1970s. The preliminary Ada reference manual was published in ACM SIGPLAN Notices in June 1979. The Military Standard reference manual was approved on December 10, 1980 (Ada Lovelace's birthday), and given the number MIL-STD-1815 in honor of Ada Lovelace's birth year. In 1981,
Tony Hoare took advantage of his
Turing Award speech to criticize Ada for being overly complex and hence unreliable, but subsequently seemed to recant in the foreword he wrote for an Ada textbook. Ada attracted much attention from the programming community as a whole during its early days. Its backers and others predicted that it might become a dominant language for general purpose programming and not only defense-related work. Early Ada compilers struggled to implement the large, complex language, and both compile-time and run-time performance tended to be slow and tools primitive. certified on April 11, 1983. NYU Ada/Ed is implemented in the high-level set language
SETL. Several commercial companies began offering Ada compilers and associated development tools, including
Alsys,
TeleSoft,
DDC-I,
Advanced Computer Techniques,
Tartan Laboratories,
Irvine Compiler,
TLD Systems, and
Verdix. Computer manufacturers who had a significant business in the defense, aerospace, or related industries, also offered Ada compilers and tools on their platforms; these included
Concurrent Computer Corporation,
Cray Research, Inc.,
Digital Equipment Corporation,
Harris Computer Systems, and
Siemens Nixdorf Informationssysteme AG. though exceptions to this rule were often granted. Similar requirements existed in other
NATO countries: Ada was required for NATO systems involving
command and control and other functions, and Ada was the mandated or preferred language for defense-related applications in countries such as Sweden, Germany, and Canada. By the late 1980s and early 1990s, Ada compilers had improved in performance, but there were still barriers to fully exploiting Ada's abilities, including a tasking model that was different from what most real-time programmers were used to.
Saab Gripen,
Lockheed Martin F-22 Raptor and the DFCS replacement flight control system for the
Grumman F-14 Tomcat. The Canadian Automated Air Traffic System was written in 1 million lines of Ada (
SLOC count). It featured advanced
distributed processing, a distributed Ada database, and object-oriented design. Ada is also used in other air traffic systems, e.g., the UK's next-generation Interim Future Area Control Tools Support () air traffic control system is designed and implemented using
SPARK Ada. It is also used in the
French TVM in-
cab signalling system on the
TGV high-speed rail system, and the metro suburban trains in Paris, London, Hong Kong and New York City. The Ada 95 revision of the language went beyond the Steelman requirements, targeting general-purpose systems in addition to embedded ones, and adding features supporting
object-oriented programming. == Standardization ==