On Thu, Jun 26, 2008 at 04:07:04AM -0700, Nick Smith wrote:
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.
You will want to learn about change sets and Monticello. Here are some explanations of change sets:
http://wiki.squeak.org/squeak/785 http://wiki.squeak.org/squeak/946 http://wiki.squeak.org/squeak/674
and Monticello:
http://wiki.squeak.org/squeak/1287 http://wiki.squeak.org/squeak/43
I would suggest getting comfortable with change sets as a first step.
Dave