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=-1.9 required=3.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.5-pre1 Date: 29 Apr 93 16:02:59 GMT From: netnews!schonberg!dewar@nyu.edu (Robert Dewar) Subject: Re: A measure of Ada's death in the database world Message-ID: List-Id: class type x is new a,b,c; Well first of all, that syntax isn't quite right, since it doesn't allow for extensions, and also we don't use class in 9X in this way, so what I would expect would be something like: type x is new a,b,c with ...; It's easy enough to write syntax like this, but there are big semantic problems and big implementation problems (just to mention a couple, what about virtual base classes, and how do you avoid distributed overehead from the *possibility* of MI even if it isn't used -- C++ compilers usually pay such a distributed overhead). It's these semantic and implementation problems that make one think twice (or perhaps ten times) before including MI in 9X. I certainly haven't seen anyone complete a thorough design for such a feature which addresses all these problems. The real question is whether it is worth it. The post that this responds to talks about using kludges, but one guys kludge is another guys elegant approach. For instance, to an Ada programmer, having to use classes in C++ for what are better represented as packages, and then having to use multiple inheritance for what is better represented by multiple package dependencies is indeed a kludge -- but the kludge is in C++, not in Ada. Despite a lot of attempts and requests, the discussion of MI in 9X has generated a lot of suggestions that it should be included, but precious few examples of programming examples that make this case in even a semi-convincing form.