is Missing multiple inheritance in sqeak a drawback ?

Diego Gomez Deck squeak-dev at lists.squeakfoundation.org
Sun Oct 13 11:30:59 UTC 2002


Hi list,

I'll try to make a brief of my feeling with the recurring debate about simp=
le inheritance, multiple inheritance, delegation, mixins, etc.

Too many words written on these means only one thing: We have not (yet?) th=
e answers.

IMHO, the worst problem with MI, mixins is far away from technicals conside=
rations.  The problem is: It's *really* difficult to create a good MI tree =
because it's *really* difficult to find these abstractions.

Let's analyze a little bit our images... after 30 years of development you =
will find soo few examples of good mixins:

We can find:
   Magnitude: things you can order.
   Iterable: #do:, #select:, #collect: and relates messages.
   Collection: Iterable plus #add:, #addAll, #remove:, etc.
   Stream: Iterable plus #next:, #nextPut:, etc

This is not an exhaustive list, it's only an =93on the fly=94 list of cases=
 I can remember while writing the email.

As you can see these concepts are extremely abstract, much more abstract th=
at Object.  (I'd like to know how many time took to find Magnitude in ST).

To find abstraction you need to play a lot of time with concrete examples (=
instances), to find a second level of abstraction you need to play with abs=
tractions for a lot of time too (much more time).

We need an environment that allow us to move from concrete instances, to sp=
ecies (classes) and then (not before) to concepts like mixins.

Cheers,

Diego Gomez Deck





More information about the Squeak-dev mailing list