Path: utzoo!attcan!uunet!decwrl!apple!lins From: lins@Apple.COM (Chuck Lins) Newsgroups: comp.sys.mac.programmer Subject: Re: Multiple Inheritance -- Is It A Luxury? Message-ID: <42665@apple.Apple.COM> Date: 5 Jul 90 17:13:03 GMT References: <15132@reed.UUCP> <268BA8DC.4CD4@intercon.com> <8937@goofy.Apple.COM> <268C032E.5137@intercon.com> <1990Jul2.181147.1672@efi.com> <8967@goofy.Apple.COM> <42616@apple.Apple.COM> <2691908E.738C@intercon.com> Organization: Apple Computer Inc, Cupertino, CA Lines: 31 In article <2691908E.738C@intercon.com> amanda@mermaid.intercon.com (Amanda Walker) writes: >In article <42616@apple.Apple.COM>, lins@Apple.COM (Chuck Lins) writes: >> If people go ga-ga over MI the way they have so >> far with objects, we'll end up with "spagetti-objects" even worse than the >> spagetti code produced using GOTO. > >There are times when multiple inheritance can be used to produce very elegant >code. And there are times when I can use assembly language and the evil GOTO to write very elegant code too. >Used properly, multiple inheritance >can be very useful in decomposing problems over orthgonal axes (for example, >take a look at the "mixin" concept in several Lisp object platforms). Used >improperly, you can end up with the "it's a floor wax AND a dessert topping" >effect... Symbolic Lisp Machines have a wonderful class in the UI called a Listener. It inherits from 26 different classes, sometimes through multiple different paths in the inheritance graph. It's impossible to subclass properly or even figure out how to take advantage of its functionality (in case one wanted to do the same thing). -- Chuck Lins | "Is this the kind of work you'd like to do?" Apple Computer, Inc. | -- Front 242 20525 Mariani Avenue | Internet: lins@apple.com Mail Stop 37-BD | AppleLink: LINS@applelink.apple.com Cupertino, CA 95014 | "Self-proclaimed Object Oberon Evangelist" The intersection of Apple's ideas and my ideas yields the empty set.