Building consensus for Ada 9X

Language design is a most difficult task. While the original design of a language has the distinct advantage of filling a blank page, the revision of a language needs to abide by a number of constraints that limit the degree of design freedom. These constraints are both of a technical and a nontechnical nature. In a language revision, each desired change has both a benefit and a cost. Deciding which changes to incorporate into the language becomes a cost/benefit analysis within the framework of the existing constraints. In this article, we will explore some of these constraints and their impact on the Ada 9X revision process.