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_40 autolearn=ham autolearn_force=no version=3.4.5-pre1 Date: 27 Dec 91 21:40:19 GMT From: alice!bs@ucbvax.Berkeley.EDU (Bjarne Stroustrup) Subject: Re: Multiple Inheritance in Ada 9X Message-ID: <22010@alice.att.com> List-Id: There is not to my knowledge any evidence that multiple inheritance (as implemented in C++ or elsewhere) is particularly dangerous or where used for real projects has caused any harm. 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. As noted by Dan Weinreb, C++'s notion of MI is less powerful that that of CLOS. That was understood at the time and accepted as something that was probably a necessesary price to pay for C++'s static type checking and run-time efficiency. Somebody used the phrase ``bolted on'' about C++'s multiple inheritance facility. I consider that a typical misunderstanding/misrepresentation. FYI: Multiple inheritance was first considered very early on in the development of C++ (about 1982) but the actual introduction was delayed until 1986 when I felt I had enough understanding, experience,and time to tackle the issue. MI in C++ and elsewhere isn't perfect and it isn't a panacea, but it works and it makes some styles of programming noticeably more convenient and less obscure. Naturally, it can also be overused and misused, but basically it works.