On Saturday 06 October 2007, MenTaLguY wrote:
> On Sat, 2007-10-06 at 08:47 +0200, Sylvain Joyeux wrote:
> > Yes. You have to think, when writing mixins, in the context of *all
> > other mixins they will have to interact with*. Mmmmmm ... looks like
> > MI problem to me.
>
> That's because, since mixins aren't abstract (like interfaces), they
> represent a limited form of MI.  The limitations on Ruby modules only
> mitigate the issues inherent in MI, not eliminate them.  But .. do you
> really want to make the issues worse by relaxing the restrictions?

I think that programmers should have the right to do their own decisions. 
If they don't feel like using MI, fine. But an anti-MI religion.

All powerful programming tools have drawbacks. The question is whether or 
not you gain more by taking the risk of using them than by avoiding them. 
I already used MI in C++ (and yes, for "is-a" relations, cut the 
you-should-not-use-inheritance crap) and I have seen people using MI in 
very elegant ways. It is useful in some cases, can be avoided in others, 
but it is useful sometimes.

Sylvain