[Mono-list] Re: Is Objective-C support possible?

Jason Whittington jasonw@develop.com
Sat, 16 Feb 2002 02:01:43 -0700

>Which from a modern OO perspective is a Very Bad Thing. Which is why
>neither Java nor C# support them.

I disagree.  The main reason C# does not support mixins or multiple
inheritance is the incredible complication it adds to the loader.
Mixins can be incredibly elegant when used intelligently and just saying
"multiple inheritance is evil" is short-sighted (though many Java
programmers do share this point of view).  Mixins were used very
successfully in Borland's OWL framework as well as ATL.  (ATL code
looked like a train wreck true, but it wasn't because of the use of
mixins).  In fact, compare the way, say MFC did COM with ATL.  MFC was
single inheritance and it was UGLY.  ATL and OWL were both far more
elegant than MFC.

Multiple inheritance can introduce some messy problems (most notoriously
diamond inheritance) but it's a powerful tool for some problems.
*shrug* I guess it's like anthing else.  The more powerful the tool the
easier it is to cut your hand off with it :).