About KCP and automatic initialize

Richard A. O'Keefe ok at cs.otago.ac.nz
Tue Sep 16 06:01:08 UTC 2003


In response to a comment about the ANSI Smalltalk standard,
ducasse <ducasse at iam.unibe.ch> wrote:

	With your line of behavior Smalltalk is dead, because nothing
	new can happen.  Nothing.

This is of course patently untrue.  As an exercise in learning and
understanding Smalltalk, I implemented *every* method in ANSI Smalltalk,
as part of an unfinished Smalltalk->C compiler.  There is NOTHING in the
ANSI standard that in any way prevents any amount of experimentation
with networks multimedia, 3D, you name it.

The big point here, of course, is that the ANSI standard is what the
implementors could agree on.  If they didn't agree on #new sending
#initialize, that's because most of them *didn't* do that and didn't
want to.

I've criticised the ANSI Smalltalk standard as much as anybody.
The final printed version clearly wasn't proofread.

The trouble is, it's the only Smalltalk standard we've got.
Things that were 'plain and precious' in the coloured books are not
portable any more; they are not a standard.

I've also been known to bash the ISO Prolog standard:  too little, too
late, and too much emphasis on what the committee members wanted instead
of what practical users wanted.  But it's the only Prolog standard there
is.  Has the Prolog standard stopped Prolog development?  Nope.  There's
a lot of stuff in various Prologs that isn't in the standard.  That's
allowed!  (And instead of confining myself to whinging about how bad the
standard is, I'm the principal contributer to the "community standard"
that's being developed for the Prolog library.)

Maybe, just maybe, instead of people bashing the ANSI Smalltalk standard,
we'd make more progress by writing a revised one.  We could call it, oh,
how about, "the Kernel Documentation Project"?



More information about the Squeak-dev mailing list