SystemNavigation and deprecated methods
Stephane Ducasse
ducasse at iam.unibe.ch
Fri Aug 15 06:57:48 UTC 2003
Hi andreas
just to make a point clear. All the work we do in the context of KCP is
not related to research.
Our concerns is to provide better system for people using t and
developing real applications.
Stef
On Friday, August 15, 2003, at 02:34 AM, Andreas Raab wrote:
> Hi Roel,
>
>> 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.
>
> I certainly agree, but so far no convincing argument to the contrary
> has
> been made, except from either stating that it is "bad" (with five or
> more
> exclamation marks attached ;-) or that it is Not The Right Thing To Do.
>
>> 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.
>
> And why would that be? Perhaps you haven't read my message carefully
> but I
> have very clearly stated that for something like a browser it seems
> quite
> appropriate to have a navigator at hand. But given that I know I am
> talking
> to classes in my image if I want to inquire one of the classes about
> certain
> properties, why would it kill me if these methods were there?
>
> In addition, in order to be even able to talk to some code that is not
> inside your image you still need to have a "handle" to refer to. If
> you call
> that handle an "object" then this object may implement the appropriate
> queries. And, lo and behold! The mere existence of the methods will
> not kill
> you. Isn't it amazing what you can do if you think object-oriented?
> ;-)))
>
> I think that the major trouble we're having in this discussion is
> caused by
> an assumption that every last place in the system absolutely has to
> use the
> most general mechanism available. That is wrong as in 99% of all of the
> common cases a simple solution is just what you need. If you can
> provide for
> generalizations by, for example, providing a navigator in the browser
> and
> encourage people to use that navigator when they hack their own
> browsers
> that's fine. But don't forget about the many situations in which we
> just
> want a quick answer to some question! You're making it incredibly hard
> to
> use the system in the most convenient way, which, by the end of the
> day,
> means we're loosing a significant amount of productivity.
>
>> On to the pink plane! Let's make Squeak a better system.
>
> Better for whom? For researchers to study, for newbies to learn, for
> programmers to use? For two out of the three I would claim that the
> "better"
> system is the one where these things can be gotten to easily and
> conveniently.
>
>> 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.
>
> Please send me a copy of this paper as soon as it is available.
> 'Stratification' (for which the definition is rather unclear to me; it
> would
> be helpful if you could give us an understanding of what is actually
> meant
> by the term) may be a useful thing for system structuring but by the
> end of
> the day it's efficiency and intuition that counts. And as much as I
> like
> well-factored systems, if they are divided in ways which only make it
> hard
> for users to actually get the results they want, then that factoring is
> simply useless. Mind you, we are not talking about a pure research
> prototype
> here - some people actually want to use that system.
>
> Cheers,
> - Andreas
>
>
>
More information about the Squeak-dev
mailing list
|