THE 1970S

Ada

Picture for a moment the administrative nightmare that Pentagon IT projects represented in the mid-1970s. Over 400 programming languages and dialects were proliferating throughout the U.S. Department of Defense systems, generating three billion dollars in maintenance costs annually. This absurd situation often originated from the misguided initiative of a programmer who, convinced they were improving productivity, would cobble together an existing language for their particular application. Twenty years later, entire generations of developers still had to learn this dialect to maintain what had become a legacy program.

David Fisher was then leading the DoD’s initiative to break out of this deadlock. The idea wasn’t new: in the 1960s, the department had already mandated COBOL in its defense contracts. But this time, the approach would be different. For the first time in the history of programming languages, the requirements would be defined by a team completely separate from the one that would design the language.

The consultation process mobilized military, industrial, and academic experts from around the world. Between 1975 and 1977, several requirements documents emerged with evocative codenames: Strawman, Woodenman, Tinman, and finally Ironman. These specifications placed reliability, readability, and maintainability at the heart of concerns, far beyond the classic objectives of portability and efficiency.

Twenty teams responded to the call for proposals launched in 1977. Four were selected and designated by colors: Green, Red, Blue, and Yellow. After six months of hard work, only the Green and Red teams remained in the running. In May 1979, the Green team’s proposal won. Its leader, Jean Ichbiah of CII Honeywell Bull, had an ace up his sleeve: his experience with LIS, the “System Implementation Language” developed since 1972 at his company.

LIS had been designed to improve operating system reliability and maintainability. This philosophy fit perfectly with the DoD’s requirements. Ichbiah and his team drew on this experience to shape their proposal.

The next phase, called “Test and Evaluation”, transformed the project into a true global laboratory. About a hundred teams spread across all continents tested the language by recoding existing applications. Their feedback fueled successive refinements that led, in 1980, to a proposed standard.

The standardization process took on a pharaonic dimension. Over a thousand people around the world participated in this endeavor. Ichbiah’s team had to process approximately 7,000 comments on the proposed standard, relying on a computerized database to manage this flood of feedback. A technical feat.

In February 1983, Ada’s ANSI standardization was finalized. The language stood out for remarkable innovations. Its package structure allowed a clear separation between the user interface and the implementation. The concept of linear reading transformed code comprehension: a programmer could read an Ada program line by line, their understanding at any given line depending only on the preceding lines.

Robert Dewar developed the first Ada compiler at New York University, actually an interpreter intended for teaching. The second compiler, created by Rolm and Data General for the Eclipse minicomputer, was validated in June 1983. Western Digital offered the third with their MicroEngine, marking Ada’s entry into the microcomputer world.

In January 1984, the DoD struck a major blow: a directive mandated the use of Ada for all critical applications. This decision came after the validation of the Data General compiler, which proved the language’s practical viability. But Ada did not remain confined to military applications. The civilian sector adopted it, particularly in civil aviation, rail systems, and real-time embedded systems where reliability is paramount.

The language evolved over the decades. Ada 95 introduced object-oriented programming. Ada 2005 and Ada 2012 brought substantial improvements in contract-based programming. Today, Ada powers critical applications where the slightest failure can have potentially dramatic consequences.

Ada’s design introduced practices that have now become standard: rigorous separation between specification and implementation, formal compiler validation, meticulous standardization process. These innovations influenced the design of other languages and transformed software development methods.

Jean Ichbiah had a clear vision: “Developing a large program may take less than two years, but its maintenance will extend over more than twenty years.” This philosophy permeates every aspect of the language. Ada prioritizes code clarity and comprehension over ease of writing. An approach that seems counterintuitive at first but proves worthwhile in the long run.

The language’s name pays tribute to Augusta Ada Lovelace, considered the first programmer in history. This choice was not insignificant: it reflected the project’s ambition to make history in computing. Forty years later, Ada is regarded as a model of rigorous and methodical design. It demonstrates that investing in code quality generates substantial savings over a software’s entire lifecycle. A lesson that many IT projects would do well to consider.