is Missing multiple inheritance in sqeak a drawback ?

Alan Kay Alan.Kay at squeakland.org
Fri Oct 11 21:54:02 UTC 2002


What multiple inheritance is supposed to do is good and is needed. 
But, in practice, it is very unwieldy, etc. I think there needs to be 
a kind of "mixing algebra" that would make the semantics of 
combination clear.
      In any case, I think there is a much better way for almost all 
cases, and that is multiple perspectives. I have mentioned 
Goldstein's and Bobrow's PIE system (done at PARC in Smalltalk in the 
late 70s, and some of the papers are available). The current Squeak 
etoy system has a gesture towards this approach. The basic idea is to 
make the description of a object be in terms of "perspectives" or 
"roles" (for example, that of being an object, of being a graphical 
entity, of being a collection, of having several roles in a 
particular model, etc.) This is a "sideways" approach to what 
multiple inheritance does, but for many of the most important cases 
does not require any kind of inheritance at all (e.g. what class 
object now supplies in the hierarchy, it supplies as a perspective). 
Several nice things about this way of looking at things is that it 
doesn't stop one from using inheritance, it gets rid of inheritance 
for lots of cases, it makes things clearer, it separates concerns for 
complicated objects. Another ramification of this POV is that it 
encourages a different way to look at parameterization and variants 
without requiring subclassing, etc.

Cheers,

Alan

------

At 8:32 PM +0200 10/11/02, Hans Beck wrote:
>Hi,
>
>I'm using squeak for prototyping our LCD measurement system 
>software. From time to time, some colleagues look at my display and 
>are astonished ;-)) But they are c++ freaks, and if we discuss about 
>the usability  of squeak for prototyping, always there comes the 
>argument of lacking multiple inheritance.
>
>So because I'm not a theoretican for computer languages but  I 
>suppose there are a lot very good guys on this list, I would ask the 
>community, how far multiple inheritance is really needed, or is it 
>bad or what ever ? (Looking from a more or less theoretical 
>viewpoint of object oriented concepts ) ?
>
>Thanks for help finding arguments :-))
>
>Greetings
>
>Hans


-- 



More information about the Squeak-dev mailing list