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
|