[squeak-dev] Re: How about... something completely different?
(Re: Re: On traits composition)
Alejandro F. Reimondo
aleReimondo at smalltalking.net
Wed Dec 9 12:30:25 UTC 2009
Hi,
>My original thoughts on this matter was that I wanted to have something
>more like (biological) cells - entities that are made up of smaller things
>(objects), that have an inside and an outside (made up of other objects
>instead of abstractions like the interface/implementation distinction),
>that forward signals (messages) to the appropriate receptors etc. What
>you're describing is very much in line with my thoughts at that point which
>also included more actor-like structures (some of which was later realized
>in Tweak and once I found E got an even stronger version in Croquet).
IMO the main problem is that we[*] continue thinking we have
classes in Smalltalk (and some people not updated about smalltalk
still think we only use classification, and do not have support for
alternative delegation schemas).
If we consider we have species (we have an open system, so, classes
concept is not correct), and consider the effect of our actions (external
actors) through time; we can complement OO techniques with
activities in a sustainable open system.
imo it was ok in th e80's to say "Object subclass:..." but today,
if we recognize/observe evolution in a Smalltalk system,
we should stop speaking about classes, and start
considering species (the distintion will not come from people
talking about closed systems nor dynamic languages).
As a sustainable open system, the bigbang of Smalltalk is only an instant
in its history (not really important after it has happened); and
the "contents of smalltalk" is also irrelevant; in aSmaltalk,
anything can change, and it will continue been aSmalltalk "instance".
Sometimes we put more attention in "design" and other
models because that make us "understand" faster what is
inside aSmalltalk; but that reductions (and use of encapsulation)
also reveal the limits of OO and the reductionist method.
We do not have a choice in technical field, because we are
forced today to define object models... also for behavior!!!
We are using machines, and we don´t know how to program
without writing code [**]. That make us be tempted to decompose
any element in smaller parts... going to the basic,
the ideal, the abstract, the formula.
In industry, the power of decomposition to basic concepts
are also irrelevant (smalltalk has been the object ambience
most used in software industry); and condensation of experience
is always stored as classification based schemas; other forms
of delegation are funny/elegant and used in marginal situations,
complementing classification based structures.
if we consider other forms of delegation and try to surpass
the limits of OO instead of forcing the globe down to the
waters of (oo) languages; imo we contribute to what
make Smalltalk something unique from it birth up today.
Returning to te topic "How about... something completelly diferent?"
we are not doing something diferent; we are doing something
complementary.
Activities in an open system complements the use of OO techniques.
The result of that activities are cristalized in classification based
structures.
cheers,
Ale.
[*] we= who call himself a Smalltalker.
[**] hiding evidence of change of behavior in object systems
without canges of code. In contrary to our convenience,
because that way, code oriented people continue speaking
about a "better language for all the world"; stoping any
advance in complementary techniques/activities.
----- Original Message -----
From: "Andreas Raab" <andreas.raab at gmx.de>
To: "The general-purpose Squeak developers list"
<squeak-dev at lists.squeakfoundation.org>
Sent: Tuesday, December 08, 2009 9:08 PM
Subject: [squeak-dev] Re: How about... something completely different? (Re:
Re: On traits composition)
> Hi Göran -
>
> Unbelievable. You basically just described the very idea that started this
> whole traits thing. When Nathanael worked with us at Disney, the traits
> direction came out of discussions where we wanted him to think precisely
> along the lines you're describing. My original thoughts on this matter was
> that I wanted to have something more like (biological) cells - entities
> that are made up of smaller things (objects), that have an inside and an
> outside (made up of other objects instead of abstractions like the
> interface/implementation distinction), that forward signals (messages) to
> the appropriate receptors etc. What you're describing is very much in line
> with my thoughts at that point which also included more actor-like
> structures (some of which was later realized in Tweak and once I found E
> got an even stronger version in Croquet).
>
> Cheers,
> - Andreas
>
> Göran Krampe wrote:
>> Hi all!
>>
>> Andreas Raab wrote:
>>> BTW, I really don't think there is much difference between mixins and
>>> traits; all forms of MI are fairly equivalent.
>>>
>>> Cheers,
>>> - Andreas
>>
>> As most of us I was also very positive when Traits first came to the
>> scene. Now, I am a lot more jaded and think "well, sure, but are they
>> worth it?".
>>
>> Given Andreas' statement above - wouldn't it be *much* cooler to evolve
>> Smalltalk along the axis of composition instead of the axis of
>> inheritance?
>>
>> I have always thought that having better mechanisms for delegation would
>> be awesome, and would in most ways be much more powerful than inheritance
>> (in whichever form).
>>
>> For example, what if one could declare that for class Foo (having ivars
>> x, y, z) any message that would result in a DNU would instead be
>> "delegated" to ivar x (and then y if no lookup is found in x either).
>>
>> This would be equivalent to tons of messages in Foo like:
>>
>> Foo>>name
>> ^(x respondsTo: #name) ifTrue: [x name] ifFalse: [y name]
>>
>> (well, kinda, you get the picture - but also, taking care of x/y
>> returning "self" in which case we probably should return the "Foo self"
>> instead etc)
>>
>> In many ways the mechanism I am describing is "built into" languages like
>> self and Slate (I think).
>>
>> IMHO the above is very useful and would allow fine grained composition
>> similar to Traits but in a dynamic more object centric fashion.
>>
>> regards, Göran
>>
>>
>>
>
>
>
More information about the Squeak-dev
mailing list
|