SmalltalkImage current
Joshua Gargus
schwa at fastmail.us
Thu Jun 28 18:41:59 UTC 2007
On Jun 28, 2007, at 10:09 AM, Damien Cassou wrote:
> 2007/6/28, Norbert Hartl <norbert at hartl.name>:
>> I read in a posting from Andreas that there are problems
>> with the renaming from Smalltalkk to SmalltalkImage
>> current. I discovered problems with it several times
>> myself.
>> That remembers me that I wanted to ask what were the
>> reason to change it? It breaks a lot of code and reading
>> this list it appears to me that nobody likes it :) So how
>> came it has been renamed?
>
> I guess it's because Smalltalk is a global variable and global
> variables should be avoided when possible.
This is a good rule of thumb, and will tend to serve well when
writing new code (and even for most refactorings). However, for this
particular case, I have not heard a compelling argument for how this
change increases the utility of the system; to me, it seems to
decrease it.
The costs are clear: code is uglier and longer to type, and
compatibility is lost between different versions of Squeak. Do the
benefits outweigh these costs? Let's see...
One justification for this change might be that it is a step toward
not depending on that global variable. This is simply not the case.
In order to remove 'Smalltalk', a radical restructuring of the entire
system would have to take place. If there was a feasible technical
and political plan for this restructuring, then changes such as
'SmalltalkImage current' would be the most trivial and preliminary
parts of the plan. In other words, we are no closer to removing
'Smalltalk' as a result of these changes.
'SmalltalkImage current' also early-binds a suggestion about how such
a restructuring would look. While it is laudable to aim for a
loosely connected network of communicating Smalltalk images, it is
not clear what role images themselves should play in structuring
object interactions in such a system. For example, the fundamental
principles might instead be based on 'namespaces' for code and
'islands' for objects. The point is that we don't know; all we know
is that 'SmalltalkImage current' and 'SmalltalkImage otherImageNamed:
imageName' are almost certainly wrong.
To me, it seems that the costs and benefits were not carefully
considered before the changes were made, because otherwise the
changes would not have been made.
(even though I dislike this particular change, I have tremendous
respect and appreciation for the efforts of Stephane et. al. to make
a better Squeak).
Cheers,
Josh
>
> --
> Damien Cassou
>
More information about the Squeak-dev
mailing list
|