I'm a newbie to programming and I'm really enjoying learning Squeak, Seaside. One of the biggest delights for me is discovering just how expressive and powerful Smalltalk is when you can so easily add your own methods to the base classes. By using good intention-revealing selector names, I can write code that is almost self-explanatory.... like prose but not in the language of Smalltalk, in the language of the application/problem domain itself. This is brilliant. Every program you write is it's own DSL.
So here's the thing I don't yet understand. If I embrace this way of programming and extend bases classes by adding my own methods, what happens to those methods when I upgrade my image to a newer version of Squeak? Is it that I need to subclass existing base classes before extending them (to better separate my code from the original) or perhaps I need to learn to use Traits; or is there something about Monticello that allows me to migrate my custom methods to newer images? Or maybe perhaps there's something I've missed completely.
Thanks.