From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,8b8748382fcfacc1 X-Google-Attributes: gid103376,public From: "Robert I. Eachus" Subject: Re: friend classes in ada95 Date: 2000/04/17 Message-ID: <38FB8556.4EACD391@earthlink.net> X-Deja-AN: 612413273 Content-Transfer-Encoding: 7bit References: <38F6B617.34E216A7@emw.ericsson.se> <38F887AE.8CDA24E0@acm.org> <8dc8oi$kda$1@nnrp1.deja.com> X-Accept-Language: en,pdf Content-Type: text/plain; charset=us-ascii X-Complaints-To: abuse@earthlink.net X-Trace: newsread1.prod.itd.earthlink.net 956007633 63.24.60.115 (Mon, 17 Apr 2000 14:40:33 PDT) Organization: The MITRE Corporation MIME-Version: 1.0 NNTP-Posting-Date: Mon, 17 Apr 2000 14:40:33 PDT Newsgroups: comp.lang.ada Date: 2000-04-17T00:00:00+00:00 List-Id: Robert Dewar wrote: > It's always a hard sell when you choose terminology that is > arbitrarily different from the cultural norm. It is interesting > to recall the big debate at the Salem meeting between Tucker > Taft and Jean Ichibiah. I won't even try to write a history of Ada 9X, even of just that meeting, but it certainly was a key point in the history of Ada. There were several issues that could have resulted in failure to reach concensus at that meeting, but most of the sound and fury was devoted to class vs. tagged. (To me the silliest of the issues with such potential was about whether or not to allow leading underscores in identifiers...) I think that the reason that the classs vs. tagged debate got so furious was that there were two different viewpoints, one technical and one aesthetic. Many of those arguing for class were unwilling to discuss some of the technical problems with their alternatives, while the tagged group was very reluctant to consider compromises without through analysis. The sense in which the tagged group "won" is that the version finally accepted did not create unnecessary limitations, and IMHO, the changed to the treatment of abstract made at a later Boston meeting probably would not have been possible with the syntax proposed by Jean Ichbiah. The way in which the Ada community as a whole lost is that the current syntax is probably much uglier that it had to be. Efforts to ammend the proposals (before the Salem meeting) were looked on as unacceptable compromises instead of "perfecting ammendments." "type Foo is Bar with begin null; end record;" did get cleaned up to "...with null record;" then "...with null;" But simply replacing the tagged keyword with class was for some reason unacceptable to both sides... > The national delegations at Salem were all a bit appalled by > the ferocity of the argument on both sides, and in particular > at what was clearly a huge amount of effort the design team > had spent in preparing the counter argument. Tucker, do you have a copy of your Winnie the Pooh slides? I think it would be worth putting them on-line in some historical archive, and if possible Jean Ichbiah's presentation as well. But everyone should remember that there were several dozen potential show-stoppers discussed and resolved in Salem, and by Saturday? afternoon we had a consensus which was then adopted unanimously as the result of the conference. > I knew perfectly well at the time that if I had instead said > > "I really think we cannot have an important issue like this > left open with an even vote, I propose that we discuss > this further and revote, that then most likely CLASS would > have been approved." > > But I worried about the dynamics. For whatever reason it > was clear that the Ada 95 design team was truly ferociously > opposed (in fact it reminded me of Jean's opposition to the > unanimous recommendation of the Ada 83 DR's for removing > derived types from Ada 83). > > Jean's motion was rejected partly because he insisted on > the prefix notation. Indeed the Japanese delegation voted > against it solely on this basis, and I think if they had > realized that tactically their negative vote would sink > the whole proposal, they would have reconsidered. Even > if they had abstained, then the motion would have carried > (by a majority of 2 countries, since the US would then have > voted FOR the motion.) > > I tried before the discussion to get Jean to separate the > two points, but he refused. I knew that was a > tactical error, based on previous discussions in the DR > group, but he was adamant. Personally I prefer the prefix > notation, but I knew others were quite opposed to it. If we had another day, I would have strongly supported you. But running out of time on the clock/calendar could have a significantly adverse impact on the Ada 9X process. (And I think that every night that week I was up past midnight getting materials ready for the next day. MITRE was acting as host, and often subgroups met late at night preparing wording to be voted on the next day. We had a computer set up with a laser printer and we thought, plenty of transparencies. We almost ran out on the last day, even though we had twice sent someone to get more...) Many of those attending the meeting felt that it was vitally important that the meeting end with no major divisive issues unresolved. (And I think I remember RBKD as one who felt this way.) The class/tagged issue had been discussed and resolved at an earlier meeting, but Jean Ichbiah reopened the issue on-line. There is nothing wrong with this. In many cases a technical problem will be found in a "closed" decision, and it is necessary to re-open the issue to correct it. But when all the problems are known and have been discussed, as they had been in this case at or before the Salem meeting, a decision has to be made that is final. It would have been nice to have a better proposal on the table at Salem, but there are cases where the procedures for reaching agreement limited the number of alternatives considered. And in this case, any compromise position would--and did--get attacked from both sides, since they saw no reason to compromise, and politically both extreme positions had to be represented in the final vote. Oh, and one other thing that most people miss about this issue. There are classes in Ada 83, and there is a richer class structure in Ada 95 that has little or nothing to do with tagged types. (See the note at the end of Section 3.2 in the Ada95 RM.) To change the meaning of class as a technical term would require significant additional work by the Language Design Team--unless they were allowed to unify the existing class hierarchy and the new class constructs. But this had been explicitly considered and rejected much earlier in the design process. So those arguing for class as a keyword had to justify the extra effort.