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