SystemNavigation and deprecated methods

Daniel Vainsencher danielv at netvision.net.il
Sat Aug 16 09:32:44 UTC 2003


[refactoring the kernel to be stratified is a semantic change]
Sure, but isnt that exactly the point of having a powerful language?
that your codes semantics are flexible, without the language having to
change?

Comparing as you were the two methods of getting the same semantic
change - refactoring vs. Namespaces, it seems quite clear to me that the
latter will require at least as much design upheaval as the first, and
added language changes. 

Not that it matters much, since stratification is not currently a KCP
goal...

Daniel

Andreas Raab <andreas.raab at gmx.de> wrote:
> Hi Daniel,
> 
> > Actually, this example sounds like a good argument for
> > stratification. What's a better and more natural "switch"
> > than to do myMirror _ ClassMirror on: self. and from there
> > on use myMirror? it doesn't seem much longer than a
> > method annotation. The use of ClassMirror is a very clear 
> > signal of what meta aspect(s) you want to access. No new syntax/
> > semantics... again, this is far from immediately applicable to
> > Squeak, but while we discussing theoretical examples, I'm not
> > sure why stratification can't/shouldn't happen in vanilla squeak,
> > exactly through the extra indirection.
> 
> Well, there is a short and a long answer to this. I'll give you the short
> one since I am slightly tired right now. In short, the use of ClassMirror
> _is_ new semantics for a user who has been tought that it is Good Design to
> give responsibility to objects which they carry out themselves. The
> introduction of mirrors in the way described here is a concept which does
> not follow "regular" OO responsibilities. What is more natural than to ask
> an object directly some question? Why would you have to introduce a
> third-person indirect query to some object which apparently has no relation
> to the object you are interested in? From a naive users point of view the
> use of mirrors is VERY non-OOP. If we would presume that this style of use
> were common in OOP then we may, equally well, program only in terms of
> mirrors and I think we all agree that this would be quite against what OOP
> is all about - responsibilities given to objects themselves rather than to
> third parties. So in this sense, the use of mirrors is not at all what I
> would consider a "natural" switch of perspective here.
> 
> Cheers,
>   - Andreas



More information about the Squeak-dev mailing list