Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!usc!wuarchive!uunet!abvax!iccgcc!klimas From: klimas@iccgcc.decnet.ab.com Newsgroups: comp.object Subject: Re: Examples of Multiple Inheritance? Message-ID: <2277.275bdf0b@iccgcc.decnet.ab.com> Date: 4 Dec 90 22:38:19 GMT References: <60700005@inmet> Lines: 33 In article <60700005@inmet>, stt@inmet.inmet.com writes: > Our hypothesis is that multiple inheritance can rarely be useful > unless planned for in advance, which seems to defeat the purpose. > If it does require advance planning, then we anticipate that those > situations would be amenable to other structures, perhaps, for example, > a component with a pointer to its enclosing object. > > Multiple inheritance seems to add significant overhead to an OOPL even > when not being used in a system, so we are looking for convincing > examples that it's benefits outweigh the cost. A few comments, 1)I have thrown out the same challenge to the Smalltalk community (yes ST-80 once had it and ST /V286 does support MI in the hierarchy via a simple change to Behavior, and there have been 3rd party add on browsers for V/286) for quite a while now, and I have not gotten any substantive examples other than simple mixins to date. 2)This is not a new topic. Per Borning and Engals 1982 "M. I. in ST-80" Proc. of the Ntnl. conf. on AI, "The attempts at MI have not achieved the elegance and simplicity of single inheritance." 3)A lot of people claim that MI is a strength of C++, however a number of companies that are developing in C++ also have internal policies that prohibit the use of MI because of the potential for unmanageable complexity explosions in solutions that are of any size. With MI in C++, the user must now know about how every class and method is used so that if he inserts a class in the hierarchy he won't break it. This goes against the idea of "comprehension avoidance", i.e. for effective programming, limit the amount of stuff a programmer needs to know about a system to interact with it. Brought to you by Super Global Mega Corp .com