About KCP and automatic initialize
Colin Putney
cputney at wiresong.ca
Mon Sep 15 22:48:06 UTC 2003
On Monday, September 15, 2003, at 12:33 PM, ducasse wrote:
> I should say that I admire your dramatic way of presenting the
> situation.
Ouch. It's certainly possible that I've overestimated the difficulty of
making this change.
What worries me is that it would change one of the most fundamental
things in the system: the creation of objects. Perhaps "chaos" is too
strong a word to describe the bugs that will result. But I have no
doubt there will be a number of them, both during the transition and
afterwards.
And actually, afterwards is probably an even bigger issue. This change
would introduce an incompatibility with other Smalltalks at a pretty
fundamental level. It would be that much more difficult to port code
between Squeak and other Smalltalks because you have to examine the
nuances of how you create objects. This is a much higher barrier to
interoperability with other Smalltalks than, say, a slightly different
socket API, or a different GUI system.
Now don't get me wrong, I'm all for advancing the state of the art. But
I don't see this as a progress vs. status quo issue. What we're talking
about here is a refactoring. There's a pattern that's implemented in
hundreds of places in the system, and we can reduce that duplication by
applying "pull up method."
Whether or not we should is a question of risk vs benefit. Will the
increase in clarity and maintainability of the code be worth the risk
that bugs will be introduced because of the break in compatibility? My
gut feeling is that it won't. Am I underestimating the benefits? Have
you got some way to reduce the risk that I don't know about? Tell me
about it.
Colin
More information about the Squeak-dev
mailing list
|