On Jul 10, 2006, at 7:06 PM, Wolfgang Eder wrote:
Hi, this example demonstrates the main reason why I think the "full" image is so important: If, at the point of this refactoring (or renaming, whatever), the author had your OmniBrowser loaded, it would have been no big deal to just make the required changes. Using the RB, you get most of these changes *for free*.
Actually, I suspect that this is exactly what was done. OmniBrowser is part of the Full 3.9 image, and it appears to have been refactored along with everything else in the full image. The break in compatibility is still a problem, though, for two reasons:
First, that refactored version of OmniBrowser only works in Squeak 3.9. It doesn't work in Squeak 3.6, 3.7 or 3.8. If all I cared about was compatibility with the latest release of Squeak, I wouldn't be complaining in the first place.
Second, it's just not feasible to have all the code in the Squeak world loaded into a single image. You can get a lot, I'm sure, but some packages conflict with other packages. If you rely on refactoring to mitigate API changes, you're going to break anything that isn't in your image when you make the change.
It's so much less work this way, compared to trying to find out what has changed, exactly, between newer versions.
I love refactoring. But it's not a solution to this problem.
Colin