From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.5-pre1 (2020-06-20) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-0.0 required=3.0 tests=BAYES_20 autolearn=ham autolearn_force=no version=3.4.5-pre1 Date: 22 Feb 93 23:56:40 GMT From: eachus@mitre-bedford.arpa (Robert I. Eachus) Subject: Re: Ichibah flames, and flames out over, Ada 9X Message-ID: List-Id: There are two intertwined issues here. Jean sees beauty as an important facet of programming language design, and his major disagreement with Tucker is on exactly this issue. He feels that wide acceptance of Ada 9X requires that it be more elegant than Ada 83. At the current state of the process this is clearly not the case, but knowing the people on board, especially Mike Woodger, I have to believe that the final standard document will be much more elegant than the current version of the ILS. But elegance also applies to the programs written in Ada 9X. Jean send a message to the list saying it was now time to consider the style issues and "with null" was first on the list. While this phrase is now gone in some places if not all, several people including Jean felt that the keyword should be class, not tagged, and should precede not follow the "type XXX is." (Ada 83 does have both: "task type FOO is..." and "type BAR is limited private;" so consistancy is not an issue.) At the WG9 meeting in Salem, there was a vote to decide between the two proposals (by countries since this was an ISO meeting). The vote was two to two with six abstentions. (The US delegation felt the appropriate position was to abstain initially then throw our support to the winning side. Oops!) I think that overall the vote really reflected a feeling that there might be a better alternative, but that there really was no major techincal reason to favor one over the other. Unfortunately, at this point a better alternative would require major technical advantages to make it in the language. Second, and the major reason I am writing this, please don't let the presence mislead you about the OO features in Ada 9X. Of course, Jean feels that this misperception will kill Ada 9X... The mechanisms in Ada 9X provide the necessary missing key pieces in Ada 83 to implement all OO idioms. (With the possible exception of troublesome uses of multiple inheritance. At this point I am actually more concerned that the MI mechanisms in Ada 9X will allow misuse, that that any current MI design cannot be implemented.) Maybe I should elaborate. In Ada 9X, it is possible/easy to create classes intended as mix-ins. Take it to an extreme, and all but one root (class) type in your program can be implemented as a mix-in. That doesn't seem to lead to surprises. It is also possible to inherit from a single parent no matter how that parent was designed. Also a clear mental model. When you mix the SI and MI models, it is not clear that all the possible consequences are easily predictable. (But at least they are always well specified, which is better than most languages with MI features.) -- Robert I. Eachus with Standard_Disclaimer; use Standard_Disclaimer; function Message (Text: in Clever_Ideas) return Better_Ideas is...