About KCP and automatic initialize

Richard A. O'Keefe ok at cs.otago.ac.nz
Tue Sep 16 03:41:15 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.

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.

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.

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.

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.

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.

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?
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.  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".
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.



More information about the Squeak-dev mailing list