A first version appeared in 1978 as the Rationale for the Green programming language, and this was revised in 1979 at the time that Green was finally selected as Ada. The purpose of these documents was to explain the motivation for the language design, and to justify and defend its position against the other competitive languages and the Ironman (later Steelman) requirements. No corresponding document was written in 1980 when Ada was proposed as a standard, nor in January 1983 when Ada finally became both an ANSI and Military Standard. The present version completes and revises a draft issued in January 1984 and which was the subject of public review.
The goal of these documents has also evolved. The original goal was both motivational and defensive; a major concern was implementability (in potentially controversial areas such as overload resolution) especially since there were no compilers then in existence. This last concern is now substantially reduced since implementability is well demonstrated by a number of production quality compilers.
Equally the goal is not to document and justify every language design decision: it would be difficult to replace the archive containing the hundreds of study notes and thousands of comments produced between 1977 and 1983.
The present goal is thus now more inspirational: to give the reader a feel for the spirit of the language, the motives behind the key features and to create the basis for understanding how they fit together both globally as viewed from the outside and in detail as viewed from the inside; above all to impart an appreciation of the main architectural lines of the language and its overall philosophy. It is only by knowing this philosophy that a real understanding for the detail will be obtained.
It is now 1986, and it may well be asked why this ultimate Rationale has taken so long to emerge. We must admit that the main reason is simply that we have been deeply involved over the past years in a number of activities aimed at creating an infrastructure that would ensure the success of the Ada language, - in particular, the development of training material and compilers. The success of Ada has now relieved that pressure and allowed us to complete the work started in 1978, and to make available what we hope will be an important addition to the Ada literature.