Traits approaching mainstream Squeak
Martin Wirblat
sql.mawi at t-link.de
Tue Aug 30 17:45:15 UTC 2005
stéphane ducasse wrote:
> Hi dean
>
> do you ***really*** think that the Collection hierarchy is a toy
> example....
> I'm not sure that we are talking about the same.
>
and
>
> Cleaning your design does not solve the problem that traits solve.
> Read the papers. Sometimes we are forced to duplicate code or to write
> a lot of delegate methods just because we cannot simply reuse
> method dictionary. This is what traits are about.
>
There are ***really*** people who think something different than you.
What about answering posts from them, especially if they try to think
constructively about something that essentially you brought up, not with
your laconic and annoying "read the papers". Otherwise people may learn
and might have a laconic answer like "declined" for you in the future.
Here is what I think about the use of Traits in the Collection hierarchy:
- the Collection hierarchy works and there is no practical problem with
its daily use. No problem is meant compared to other problems of Squeak.
And if a problem shows up, it is usually of a philosophical nature like
"Should a Set behave this or that way" and like all real philosophical
problems it usually ignites a big discussion without any result. The
dominance of philosophical problems with regard to Collections shows IMO
that there is indeed no real problem with them.
- there is no understandability problem with them either. Again compared
to other regions of Squeakland like e.g. the UI-library, the VM, or the
application and its object oriented design you want to realize in
Squeak. Of course you would have to think a bit to subclass let's say
Set and find out how inheritance has been (mis)used to make it work, but
that is a seldom and nonetheless minor problem. Generally everything
within the Collection hierarchy is _very_ easy to understand.
- and there is no problem with the implementation of it, in the
practical sense that a rare occurring bug is - once found - easily resolved.
All that makes Collections a really unconvincing example of what to gain
from Traits. So for the Collection hierarchy it seems to boil down to a
deal between space vs speed. You save space, but you lose speed.
- Such a deal alone should not be the reason for a language extension or
change. Especially not for a really good and proven language like Smalltalk.
- Furthermore this deal is in the wrong direction! We desperately need
speed, not space.
And that makes Collections a really bad candidate for illustrating the
merits of Traits. For me this looks clearly like a counter-example.
Regards,
Martin
More information about the Squeak-dev
mailing list
|