Path: utzoo!mnetor!tmsoft!torsqnt!jarvis.csri.toronto.edu!cs.utexas.edu!uunet!zephyr.ens.tek.com!tektronix!sequent!mntgfx!franka From: franka@mentor.com (Frank A. Adrian) Newsgroups: comp.object Subject: Re: Inheritance explained... finaly... Keywords: inheritance Message-ID: <1990Jan11.154007.3947@mentor.com> Date: 11 Jan 90 15:40:07 GMT References: <1130005@gore.com> <14185@lambda.UUCP> <1831@osc.COM> Reply-To: franka@mntgfx.UUCP (Frank A. Adrian) Organization: /etc/organization Lines: 39 In article <1831@osc.COM> jgk@osc.COM (Joe Keane) writes: :In article <14185@lambda.UUCP> jlg@lambda.UUCP (Jim Giles) writes: :>In any case, I still have doubts about the future of Object-oriented :>programming. After all, except for inheritance, the whole concept :>is a subset of what can be done with generic functions and overloading. :>Maybe the correct approach is to add inheritance to a language which :>has generic functions - it can't be THAT hard. : :Mr. Giles has a number of good points. Let me quickly enumerate the bad :points of the object-oriented paradigm as it stands today. : :Type system... :Multiple inheritance fixes a number :of these problems, but usually complicated things even further. I have yet to :see a language which does multiple inheritance cleanly. : :Multiple arguments. Forcing the first (implicit) argument to be special is :bogus... :Polymorphism should not be indexed on the class of the first argument. : :Side effects. Object orientation includes a vague assumption that messages :modify their receivers, but not their parameters. So what's the problem? You have a language that does somewhat better on ALL of these - CLOS. Not only does it have multimethods and generic functions (See Mr. Giles' suggestion and the stuff about multiple arguments), it also has a fairly controllable multiple inheritance system (although I agree, it sometimes isn't exactly clean - is that simply a problem with describing real world multiple roles which objects can play?). Side effects can be performed on message parameters (or not). All in all, it seems like a pretty good language (especially if you like LISP in the first place :-). Just my own somewhat grumpy opinion... Frank A. Adrian Mentor Graphics, Inc. franka@mntgfx.com