SystemNavigation and deprecated methods
Roel Wuyts
wuyts at iam.unibe.ch
Thu Aug 14 08:33:34 UTC 2003
Very dogmatic....
It is not as simple just saying that The Right Thing is this or that,
since it heavily depends on what you want to do. What responsibilities
you give to an object is what makes OOP hard (not especially the
programming). And these responsibilities change over time as the system
evolves. Squeak is evolving right now, so what once was a clear and
good decision to let Classes know about the structure of their
instances, about how to create instances and about all the
meta-programming structure does not necessarily hold anymore. For
example, if you want to build a browser that works on code not inside
your image, then having these 'right' methods there will kill you. On
to the pink plane! Let's make Squeak a better system.
PS: The reason is the 'stratification' I talked about in the other
mail: you are assigning responsibilities to Class which are not
necessarily the right thing. A detailed example is in an upcoming
Bracha&Ungar paper that talks about techniques to have a clean MOP in
OO languages (so basically about Mirrors and its different incarnations
in Self, Strongtalk and the Java Debugging Interface). The distributed
browser example is what they use to illustrate 'stratification', one of
the concepts they introduce.
On Tuesday, Aug 12, 2003, at 11:54 Europe/Zurich, Brent Pinkney wrote:
> Hi,
>
> I agree wholeheartedly with Adreas's sentiments - The Right Thing is
> to have nice OO methods on Class/Behavior which delegate to
> SystemNavigation.
>
> Having submitted the Deprecatiob changeset, I still think the two
> Object>>#deprecatedExplanation: methods are awkward.
>
> We should only use something terse like Object>>#deprecated:
> anExplanation, ala Object>>#error:
>
> -Brent
>
>
Roel Wuyts Software
Composition Group
roel.wuyts at iam.unibe.ch University of Bern,
Switzerland
http://www.iam.unibe.ch/~wuyts/
Board Member of the European Smalltalk User Group: www.esug.org
More information about the Squeak-dev
mailing list
|