Computerworld is undertaking a series of investigations into the most widely-used programming languages. Previously we have spoken to Alfred v. Aho of AWK fame, and Chet Ramey about his experience maintaining Bash.
In this article we chat to S. Tucker Taft, Chairman and CTO of SofCheck. Taft has been heavily involved in the Ada 1995 and 2005 revisions, and still works with the language today as both a designer and user.
Computerworld spoke to Taft to learn more about the development and maintenance of Ada, and found a man deeply committed to language design and development.
How did you first become involved with Ada?
After graduating in 1975, I worked for Harvard for four years as the "system mother" for the first Unix system outside of Bell Labs. During that time I spent a lot of time with some of the computer science researchers, and became aware of the "DOD-1" language design competition.
I had been fascinated with programming language design for several years at that point, and thought it was quite exciting that there was a competition to design a standard language for mission-critical software. I also had already developed some strong opinions about language design, so I had some complaints about *all* of the designs.
In September of 1980, a year after I left my job at Harvard, I returned to the Boston area and ended up taking a job at Intermetrics, the company responsible for the design of the "Red" language, one of the four semifinalists and one of the two finalists for DOD-1. By that time [the language was] renamed to Ada in honor of Lady Ada Lovelace, daughter of Lord Byron and associate of Charles Babbage.
Although Intermetrics had shortly before lost the competition to Honeywell-Bull-Inria, they were still quite involved with the overall process of completing the Ada standard, and were in the process of bidding on one of the two major Ada compiler acquisitions, this one for the Air Force. After a 6-month design period and 12-month public evaluation, the Intermetrics design was chosen over two others and I became first the head of the "Ada Program Support Environment" part, and then ultimately of the Ada compiler itself.
One of the requirements of the Air Force "Ada Integrated Environment" contract was to write the entire compiler and environment in Ada itself, which created some interesting "bootstrap" problems. In fact, we had to build a separate "boot" compiler in Pascal, before we could even compile the "real" compiler. By the time we delivered, we had written almost a million lines of Ada code, and had seen Ada go from a preliminary standard to a Military standard (MIL-STD-1815), to an ANSI standard (Ada 83), and finally to an ISO standard (ISO 8652, Ada 87). I also had to go through the personal progression of learning the language, griping about the language, and then finally accepting the language as it was, so I could use it productively.
However, in 1988 the US Department of Defense announced that they were beginning the process to revise the Ada standard to produce "Ada 9X" (where X was some digit between 0 and 9). I quickly resurrected all my old gripes and a few new ones, and helped to write a proposal for Intermetrics to become the "Ada 9X Mapping/Revision Team" (the government's nomenclature for the language design team). This time the Intermetrics team won the competition over several other teams, including one that included Jean Ichbiah, the lead designer of the original Ada 83 standard. I was the technical lead of the Intermetrics "MRT" team, with Christine Anderson of the Air Force as the manager of the overall Ada 9X project on the government side.