andreas.raab at gmx.de
Fri Jun 29 08:04:59 UTC 2007
stephane ducasse wrote:
> you can find the complete motivation in the archives but in a nutshell
> the point
> was that Smalltalk is a namespace and that over time it agglomerates
> a lot of extra behavior (sometimes junk) that has nothing to do with
> namespace management.
Of course the other way to look at it (which is more in line with
reality) is that Smalltalk is a representative for the environment and
as such includes both a name space and a set of attributes and methods
that relate to system-wide behavior. Such as platform information, vm
parameters, GC settings, startup/shutdown lists etc. which may be
delegated to particular places which implement them but where the
"natural" home (the place where the writers of the code wanted it to be
found) is in Smalltalk.
That was the prevalent opinion before the cleansing jihads started. At
the end of which we are in my opinion in a worse state than where things
started: More (and duplicated) code instead of less, no improvements in
clarity or understanding (it's just one utility class replaced by
another, more obscurely named one), depracation warnings and porting
woes. And for what benefit exactly? Saying "SmalltalkImage current
platformName" instead of "Smalltalk platformName"? I really urge people
to go back to 3.4 and compare Smalltalk back then with Smalltalk +
SmalltalkImage today to see if the price is worth paying.
I eventually got so tired about the whole mess that was left behind that
in Croquet I simply moved everything back from SmalltalkImage to
Smalltalk and only left delegation stubs in SmalltalkImage. So that if
you want to type your fingers bloody saying "SmalltalkImage current
platformName" be my guest; but really I won't make you. And it will be
compatible with other versions (except of course the latest Squeak.org
versions but that's not my choice to make).
More information about the Squeak-dev