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: 30 Dec 91 20:01:08 GMT From: odi!dlw@uunet.uu.net (Dan Weinreb) Subject: Re: Multiple Inheritance in Ada 9X Message-ID: <1991Dec30.200108.22965@odi.com> List-Id: In article <22010@alice.att.com> bs@alice.att.com (Bjarne Stroustrup) writes: As with other features that are new to the majority of programmers there has been quite a debate about multiple inheritance. My impression is that most of the debate has been among language laywers and that much have been misguided in that it has focussed on obscure points of language law and at best weakly supported by experience or notions of programming style. Yes, I think you've stated it very well. There have indeed been debates, at OOPSLA and in other forums, about various designs for multiple inheritance features. I think most reasonable people agree that none of the present designs seems to be perfect. None is the absolute undisputed last word about the Right Way to do MI. In most of them, it is possible to construct complex scenarios in which the behavior of the language, although well-defined, can become difficult to understand and possibly surprising. But to say that this means that MI should be shunned or banned is to let the perfect become the enemy of the good. After all, I think there are flaws in many areas of many languages, but that doesn't mean we should all go back to assembly language. Present MI features are very useful for many everyday practical purposes despite their flaws, and this has been shown by many years of experience. The problems are of much more interest to language designers and theoreticians (who are strongly represented at OOPSLA) than to practical programmers. The language designers and theoreticians should, by all means, spend time analyzing the flaws in all the existing languages, and attempting to come up with improved approaches. Meanwhile, though, the practical programmers need not shun existing MI languages. Instead, they should understand how to use them as well as they can be used, and I think they'll find that the effort is worthwhile.