Whither Squeak?

David T. Lewis lewis at mail.msen.com
Sat May 20 03:54:20 UTC 2006

On Fri, May 19, 2006 at 05:30:41PM -0700, Dan Ingalls wrote:
> I worked out removal of MVC ages ago.  It left a few pieces of Paragraph as I recall, but it was a push-button operation called discardMVC back in those days.  I see it's still in 3.9, but i wouldn't be surprised if it's not quite "push-button' anymore.
> 	- Dan

I don't want to complain about something when I don't have a constructive
solution to offer, but I can't help mentioning something here. There
is a great deal to be learned from the Squeak image, including concepts
and implementations that have survived *in the image* for decades. But
various well-intentioned efforts to improve, update, clean, enhance,
and modularize Squeak (call it what you will) are having the unintended
consequence of damaging its historical context.

Case in point: SystemDictionary>>discardMVC was stamped by 'di' as of
April 1999.  But in any recent image, I would be led to think that this
method was attibutable to 'sd' and that it was originally written in
September 2004. There is absolutely no way for someone to look at a
current Squeak image and figure out that Dan ever had anything to do
with it. And if I had not seen this email, I would not have thought to
dig out an old image and see if it would still run long enough to find
out who really wrote the method.

Similarly, the well-intentioned modularization of the system would lead
a newcomer to conclude that the entire object memory, virtual machine,
and interpreter were recently created by someone with the initials 'tpr'.
Worthy initials indeed, but rather misleading when the version histories
show no prior authors.

This is not just a matter of authorship. If I were to try using the
#discardMVC method, it probably would not work. Looking at the method
history, there would be nothing to clue me in as to when it last did
work, or even whether I might reasonably expect it to have worked at
any time in the past. But if I knew that the 'di' stamp was in effect
as of about 1999, I would know that it did in fact work at some time
in the past. I would know that if I were to pull out an old image of
that general vintage, I would have a resonable chance of seeing it work,
and some way to figure out how to update it for a current Squeak image.

I do not in any way mean to diminish the contribution of folks whose
initials do not happen to be 'di', but for me it really takes a lot of
value (and enjoyment) out of the image when I can no longer look at the
version history of methods and classes and get a sense of where they
come from, who created them, and when they were done.

I'm sorry that I don't have a constructive suggestion to offer, but I
think it would be really nice if we could come up with a way to preserve
this kind of contextual information as we evolve and improve the image.


More information about the Squeak-dev mailing list