Smalltalk and Python

Eirik Mangseth no_spam_eirik at stockpoint.no
Thu Dec 14 03:02:05 EST 2000


"Tim May" <tcmay at got.net> wrote in message
news:tcmay-04E80C.16181313122000 at news.got.net...
> In article <918v7a02scn at news1.newsguy.com>, "Alex Martelli"
> <aleaxit at yahoo.com> wrote:
>
> > "Tim May" <tcmay at got.net> wrote in message
> > news:tcmay-FCA22F.14073713122000 at news.got.net...
> >     [snip]
> > > "And there seem to be very *few* good examples of where multiple
> > > inheritance, a la C++, is _actually_ used. Most examples seem to be
> > > contrived. "
> >
> > Have you looked into Coplien's "strangely recurring template
> > pattern", aka "the pattern without a name", and frameworks
> > developed around it, such as Microsoft's ATL and WTL?  The
> > multiplicity of inheritance in such frameworks is positively
> > dazzling to people who come from Cargill's old opinion about
> > the lack of usefulness in multiple inheritance.
>
> No, I haven't. And I thank you in all sincerity for pointing this out. I
> will look for it tonight.
>
> Being interested in ontology (things, objects, hierarchies, structures)
> even more so than in advocating any one language over another, I would
> be fascinated to see some good examples of MI in actual use.

Take a look at e.g. EiffelBase or any well designed Eiffel system and
you'll see how useful MI can be with the appropriate language mechanisms
in place to resolve any ambiguities that may arise. Another good source
is Object-Oriented Software Construction 2nd Edition, chapters 14, 15 and
16. The latter is called "Inheritance techniques". To someone who's used
to a good implementation of MI, having only SI is just to constraining.
But of course, if one enjoys writing delegates for those situations where
MI makes a "better" solution, then be my guest. Just don't force others
to do the same thing. And remember, just because C++ screwed up
MI doesn't imply that MI is bad in general. Too many people pass
judgement om MI based on their own or others experience with
MI in C++.

Eirik Mangseth
Stockpoint Nordic AS
Lysaker, Norway

"If I can't Eiffel in heaven, I won't go"

>
> > course having just 1 is still better than nothing:-).  But there
> > are plenty of good examples of multiple inheritance (of
> > implementation) being used effectively, in all languages
> > (that allow it) mentioned so far, and, I'd bet, in more yet
> > (Common Lisp, for example -- wasn't CLOS the specific
> > environment in which the concept of 'mixin inheritance' was
> > originally developed?).
>
> Actually, it was in Zetalisp, the dialect running in the old Symbolics
> Lisp Machines (later on other machines). Mostly the work of a young
> programmer named Howard Cannon (wonder what became of him?).
>
> --Tim May
>
> --
> Timothy C. May         tcmay at got.net        Corralitos, California
> Political: Co-founder Cypherpunks/crypto anarchy/Cyphernomicon
> Technical: physics/soft errors/Smalltalk/Squeak/agents/games/Go
> Personal: 1951/UCSB/Intel '74-'86/retired/investor/motorcycles/guns
>
>





More information about the Python-list mailing list