About KCP and automatic initialize
ducasse
ducasse at iam.unibe.ch
Tue Sep 16 07:08:33 UTC 2003
> ducasse <ducasse at iam.unibe.ch> wrote:
> I do not understand why simply having a better default
> initialization schema that let everybody breaks the rule the way
> he wants is a problem. But may be this is because Smalltalkers
> always want to cry that they are so cool but less and less.
>
> This is an ad hominem attack.
No this is just a sad remark. We should just open our eyes. Richard I'm
one of the few persons that is really pushing like hell Smalltalk in
Europe
(free books, free lecture, ESUG organization....) so I really think
that if we do not
pay attention, all the languages will have a cool run everywhere,
browsers, debugger...
So we have to look and make an auto-analysis of the system and create
the future.
The first step to get more people is what andreas well defined: let
people choose when to
present a difficult point. Rationalise a idioms that exists.
> What we don't have is agreement about whether
> - the #new-calls-#initialize proposal *IS* better and
> - whether it makes sense to have a "better" schema for something
> which should very seldom be used at all.
If 42% is seldom I do not know what to tell you.
> One of the things that has annoyed me in the past about Squeak
> is that some great new tool (like the Refactoring Browser) becomes
> available for other Smalltalks, finally (ah, finally, after a LONG
> wait) becomes available for Squeak, but then Squeak changes so I still
> cannot use it.
So what. Just take Rb and make it run. This is nice that you mention
that funny point because
In the new Smalltalk of John new call initialize and do you think that
RB will not run on this new Smalltalk :)
No!
> We are ALL in agreement that Squeak should move forward.
> We do NOT all agree that this is best done by cutting ourselves off
> from other Smalltalks and other exciting Smalltalk tools.
Come on I collect them and scan so I know them all. Remove two pages
and this is done.
Or no just let these two pages for the 8 weeks and not the first day!
Now the compatibility with other Smalltalk is not at this level. it is
at the level of class library.
such as VW not having asString in Integer. Those are the stuff really
boring.
In term of evolution I think that new/initialize is nothing. I think
that evolution is worth
for important features. That's why I do not consider that
initialize/new is evolution. Imagine
traits. The people of VW approached us last year at OOPSLA and they
wanted to build a prototype. But they
will never be able to do that because they have customers. Squeak has
this role to play showing the way to others
because we are free if we pay attention not to be nuts.
You know I'm working half in VW and half in Squeak. SmallWiki is
developed in VW because we have better team
and version management system but we are planning to port it to Squeak
so we are really aware about changes. But
evolution is necessary else we will be like the Sequioa in a parc
standing above but a rare species.
In term of evolution I'm much more worried about caseOf: (BERKKKK),
{} and friends because I have two forms to do the same. But we already
discussed that point.
When andreas extended to get [], I still did not understand and need to
discuss on a black board with him about that.
But new/initialize is just a pattern that recognise a practice.
> If ducasse at iam.unibe.ch is proposing to give us a tool which will
> automatically convert XML parsers, fancy browsers, &c to the new
> interface, well and good, the objection goes away.
Look at the test of andreas. This is enough to catch most of the
problem.
>
> Put it this way: I would regard it as a significant improvement to
> C if 010 meant ten, not eight. While I am more than capable of writing
> my own preprocessor to fix this, or of patching the three compilers I
> have sources for, doing so would actually lock me *out* of using tools
> which have *higher* payoff for improving my code.
>
> So I am opposed to the proposed change not because I want Squeak to
> be mired in the past but because I *don't* want it to be mired in the
> past.
>
> SqueakMap doesn't show me a version of the Refactoring Browser that I
> can load and use. There is a SmallLint *tutorial*, but no SmallLint
> *package*. This is ironic, because this is the tool that could help
> people with #initialize bugs AND OTHERS without any kernel change at
> all.
> By flicking switches, I can see a version that says it might work in
> 3.4,
> but of course I'm not using 3.4. Try it, .... "MessageNotUnderstood:
> hasPrimitiveChangeClassTo:". Nope. I _can't_ use RB.
Have you tried it. I load RB and it work. Now this is just a question
of energy
put in. if only daniel maitain and daniel is doing something else who
is to blame.
> Does anyone have a version of the Refactoring browser/of SmallLint
> that works in 3.5-5180 or 3.6 final?
>
> Is there anyone out there who understands my utter FRUSTRATION
> at the way I can never move forward in my Smalltalk practice because
> someone keeps yanking out the rug so that I can never use this tool?
But new/initialize will not prevent you to do that. At ESUG we loaded
RB in 3.6 alpha and it worked.
> Anyone who *does* understand that will understand why I refuse to
> consider Kernel Changes in basic language mechanisms on the merits
> they might have if other Smalltalks and other Smalltalkers did not
> exist.
>
> My other point is that simply *having* a "default initialization
> schema"
> is in invitation to error. Experts can cope with the present system
> and
> with the proposed change. I'm no expert, and I can.
No you are an expert. Do not play this game. If everybody in this
community which is really excellent
would be at your level we would be an excellent level, but we would be
a really private club, were newcomer
has to pass all kinds of dirty tricks.
Just a true story:
- nearly all the people I interview for a PhD position in our group
are fuzy about super semantics
- I saw ***assistant*** teaching OO since two year and programming
daily for 3D modelisation in Java since two year not been able to
correclty explain to me self. Still I did not conclude that this guy
was stupid.
He never payed attention or to had to pay attention and it worked for
him (I can tell you that he attended
all my lectures even if he was not forced to).
- I saw researchers not been able to reply well this simple puzzle
ClassX>>m
^ super class == self class
The answer been that if class is not redefined we should get true.
So you see you are not average. we are not average. Our responsibility
is to pay attention to the entry level without
compromising our SOUL.
> The change is
> supposed to be for the benefit of beginners. But to me this is like
> seeing a 4-year-old running with a knife in her hand and saying "little
> one, don't do that, let me give you this much sharper knife instead".
You are wrong. Evidence and practice show it.
> I cannot see a change that makes it easier to do the wrong thing (or
> rather, something which is occasionally sensible but almost always
> wrong)
> as "better" in any honest sense of the word.
I do not know what I tell more.
Note that I like your examples and discussions but reread my emails and
the emails of andreas.
The point is just that no more and this is a small change.
Stef
More information about the Squeak-dev
mailing list
|