A roadmap for 3.9 (Plus, [BUG][FIX] Wonderland in Squeak 3.7)
Jeffrey T. Read
bitwize at snet.net
Sun Dec 12 16:14:29 UTC 2004
On Dec 12, 2004, at 8:51 AM, stéphane ducasse wrote:
> A final point:
> Now if we agree about merging back SystemDictionary and SmalltalkImage
> then I can create a changeset that fixes
> that. But on our side we will need Namespace and SystemDictionary will
> stay a big giant crappy class.
>
I don't know about the rest of you guys but I liked the fact that
SystemDictionary and SmalltalkImage were separated into two classes
which better abstract the actual goings-on; and I kind of loathe the
bigness and crappiness of SystemDictionary.
I don't know much about this system-level hacking (I took a cursory
glance at 3.8) but I have observed that there is a pernicious
temptation in the world of Smalltalk (or at least, Squeak) to tack more
and more methods onto a class until the number of methods the class has
is huge. This is because adding a method to a base class (like, say,
Number) is easy and convenient, and you can't exactly write a function
or procedure to do what you want to do with numbers because Smalltalk
lacks procedural or functional semantics (except for BlockContexts and
such). What I've found is, creating a new class is oftentimes almost as
easy, and it really helps you to keep organized: for example, when I
wanted a way to format numbers in a particular way for a Web/database
application, I wrote a class that verifies and formats the data in a
particular format, rather than extending Number.
Stef and Marcus's changes seem to reflect this latter approach: they've
seen the method creep in SystemDictionary and are now trying to move
all this stuff into a new class. Smalltalk is not C++, and making a few
new classes isn't going to kill you; if anything, it will break down
the core system functionality in SystemDictionary into more manageable
units. It's called "refactoring"; live it, love it. :)
We kind of need to make a decision, either we get behind these changes
or we won't, either we fold them into Squeak and decide "this is what
we call Squeak" or we won't. I like the spirit in which the changes are
conducted; and yet I'm not sure if "this is what we'll call Squeak"
until some serious use is put on these changes, and we can look at
their effects both good and bad. And Andreas, if it bothers you that
much you can always revert back to 3.4 for working on Tweak and fork
your own changes from there; likely, someone who likes Tweak will
likely come along and port it to the new Squeak base system that Stef
and Marcus are working on (like was done to Morphic from Self). It is
kind of like "adapt or die" out here in Squeakland and it's scary
sometimes but I think it's really for the best.
--Jeff
More information about the Squeak-dev
mailing list
|