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=0.2 required=5.0 tests=BAYES_00,INVALID_MSGID, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,81cf52699486abe7 X-Google-Attributes: gid103376,public From: dvdeug@x8b4e53cd. (David Starner) Subject: Re: Ada95 Strengths/Weaknesses. Date: 1999/09/28 Message-ID: <7splaj$7pu1@news.cis.okstate.edu>#1/1 X-Deja-AN: 530192170 References: <37EED7B8.245C0054@yukyonline.co.yuky> <7smp30$9aa1@news.cis.okstate.edu> <7sp914$ago$1@nnrp1.deja.com> Organization: Oklahoma State University User-Agent: slrn/0.9.5.7 (UNIX) Reply-To: dstarner98@aasaa.ofe.org Newsgroups: comp.lang.ada Date: 1999-09-28T00:00:00+00:00 List-Id: In article <7sp914$ago$1@nnrp1.deja.com>, Robert Dewar wrote: >In article <7smp30$9aa1@news.cis.okstate.edu>, >> * C++ includes several somewhat experimental features >> (template specilization, >> multiple inheritance) that Ada designers considered too >> experimental or >> specialized to add. > >Well I think you need to give examples here. Many people would >regard the multiple inheritance in C++ to be a disadvantage for >three reasons: > >1. The OO model is much cleaner if only single inheritance is >used, so the semantics is much simpler. This is why many OO >languages deliberately avoid supporting MI. > >2. The MI model in C++ is one of several. Having a specific >model built into the language is unhelpful if your problem is >best handled by some different model. > >3. In most C++ compilers, you pay a price in distributed >overhead for this feature, even if you do not use multiple >inheritance. A clearer way to express my objections to your objections here is: you're viewing from the point of view of a language & compiler designer. From a programmer's standpoint, multiple inheritance can be a useful tool. And hence, to them, it is a disadvantage that you don't have MI in Ada. One minor problem in Ada that MI could help is the special Controlled classes. Either your base class is derived from it, or it isn't and that limits your subclasses. There's no way in Ada to add another 'special' base class without providing it Controlled and Uncontrolled versions, or something otherwise ugly or arbitrary. David Starner - dstarner98@aasaa.ofe.org