comp.lang.ada
 help / color / mirror / Atom feed
From: "Robert I. Eachus" <rieachus@earthlink.net>
Subject: Re: friend classes in ada95
Date: 2000/04/17
Date: 2000-04-17T00:00:00+00:00	[thread overview]
Message-ID: <38FB8556.4EACD391@earthlink.net> (raw)
In-Reply-To: 8dc8oi$kda$1@nnrp1.deja.com

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.




  parent reply	other threads:[~2000-04-17  0:00 UTC|newest]

Thread overview: 91+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-04-14  0:00 friend classes in ada95 Stefan Folkesson
2000-04-14  0:00 ` John J. Rusnak
2000-04-14  0:00 ` Julian Day
2000-04-14  0:00   ` Steve Folly
2000-04-14  0:00     ` Robert A Duff
2000-04-17  0:00       ` John J. Rusnak
2000-04-18  0:00         ` Vincent Marciante
2000-04-18  0:00           ` John Rusnak
2000-04-18  0:00       ` Steve Folly
2000-04-14  0:00 ` Florian Weimer
2000-04-14  0:00   ` Stefan Folkesson
2000-04-14  0:00 ` swhalen
2000-04-15  0:00 ` Jeff Carter
2000-04-16  0:00   ` Robert Dewar
2000-04-16  0:00     ` Jeff Carter
2000-04-16  0:00       ` David Botton
2000-04-17  0:00         ` Robert Dewar
2000-04-17  0:00           ` Hyman Rosen
2000-04-17  0:00             ` Robert Dewar
2000-04-16  0:00     ` David Botton
2000-04-17  0:00       ` Robert Dewar
2000-04-17  0:00         ` David Botton
2000-04-18  0:00           ` friend classes in ada95 (long) tmoran
2000-04-18  0:00             ` David Botton
2000-04-18  0:00               ` friend classes in ada95 Stanley R. Allen
2000-04-19  0:00               ` MI, was " tmoran
2000-04-19  0:00                 ` David Botton
2000-04-19  0:00               ` friend classes in ada95 (long) Brian Rogoff
2000-04-19  0:00                 ` Hyman Rosen
2000-04-19  0:00                   ` Brian Rogoff
2000-04-23  0:00                     ` Hyman Rosen
2000-04-23  0:00                       ` Brian Rogoff
2000-04-24  0:00                         ` Hyman Rosen
2000-04-25  0:00                           ` Brian Rogoff
2000-04-25  0:00                             ` Ole-Hjalmar Kristensen
2000-04-19  0:00                 ` David Botton
2000-04-17  0:00         ` friend classes in ada95 David Botton
2000-04-18  0:00       ` Geoff Bull
2000-04-18  0:00         ` David Botton
2000-04-18  0:00         ` Jean-Pierre Rosen
2000-04-18  0:00           ` John Rusnak
2000-04-19  0:00             ` Robert Dewar
2000-04-18  0:00           ` David Botton
2000-04-18  0:00           ` Pascal Obry
2000-04-18  0:00           ` tmoran
2000-04-18  0:00             ` John J. Rusnak
2000-04-19  0:00               ` Geoff Bull
2000-04-19  0:00                 ` David Botton
2000-04-19  0:00                   ` Robert Dewar
2000-04-20  0:00                     ` Geoff Bull
2000-04-19  0:00                   ` Robert Dewar
2000-04-19  0:00                 ` Ehud Lamm
2000-04-19  0:00                 ` Jeff Susanj
2000-04-19  0:00                   ` tmoran
2000-04-19  0:00                   ` Robert Dewar
2000-04-19  0:00                     ` Jeff Carter
2000-04-19  0:00                       ` Ray Blaak
2000-04-20  0:00                         ` Robert Dewar
2000-04-20  0:00                           ` Ray Blaak
2000-04-20  0:00                             ` Charles Hixson
2000-04-21  0:00                               ` Jon S Anthony
2000-04-21  0:00                               ` Jean-Pierre Rosen
2000-04-29  0:00                                 ` Aidan Skinner
2000-04-29  0:00                                   ` Robert I. Eachus
2000-04-20  0:00                         ` Jean-Pierre Rosen
2000-04-20  0:00                           ` Robert Dewar
2000-04-20  0:00                             ` Brian Rogoff
2000-04-20  0:00                             ` BSCrawford
2000-04-20  0:00                             ` Jean-Pierre Rosen
2000-04-20  0:00                           ` Ray Blaak
2000-04-20  0:00                             ` Jean-Pierre Rosen
2000-04-24  0:00                               ` Ray Blaak
2000-04-20  0:00                       ` Robert Dewar
2000-04-20  0:00                         ` Jeff Carter
2000-04-21  0:00                           ` Robert Dewar
2000-04-21  0:00                             ` Ken Garlington
2000-04-21  0:00                             ` Jon S Anthony
2000-04-22  0:00                               ` Robert Dewar
2000-04-19  0:00                   ` Bill Greene
2000-04-19  0:00                 ` Robert Dewar
2000-04-19  0:00               ` Jean-Pierre Rosen
2000-04-19  0:00               ` Robert Dewar
2000-04-17  0:00     ` Robert I. Eachus [this message]
2000-04-18  0:00       ` Robert Dewar
2000-04-19  0:00         ` Robert I. Eachus
2000-04-20  0:00           ` Robert Dewar
2000-04-20  0:00             ` Ray Blaak
2000-04-23  0:00             ` Robert I. Eachus
2000-04-19  0:00     ` Alfred Hilscher
2000-04-19  0:00       ` Ray Blaak
2000-04-19  0:00         ` Robert Dewar
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox