[Newbies] Migrating to new image....

Ralph Johnson johnson at cs.uiuc.edu
Sun Apr 22 11:01:54 UTC 2007

Do not be seduced by the image!

The idea of "an image" is wonderful, and is one of the core ideas of
Smalltalk.  It is great to restart the system and have all your
debugging sessions where you left them.  However, the image is
fragile, and it can be hard to share work the you have done to the
image.  Someday you will develop an image that works OK until you save
it, and then when you try to restart it, it will not work.  It can
hard to export changes from your image so that other people can use
them.  It can be hard to update your image with changes from other

The key to living in an image happily is to always be able to
regenerate it.  All long-term work should be stored outside the image,
or at least storable outside the image.

The best way to store code in Squeak at the moment is with Monticello.
 It is far from perfect, but it makes it easy to compare different
versions of your source code and can usually merge them.

I have not had good luck with storing projects.  Instead, I make sure
I can store all the objects I need.  Workspaces go in text files.  For
other objects, I either make it possible to write them to disk or I
always create them from scripts, and store the scripts in Monticello.

If you don't make sure you can regenerate your system from components
then you will end up stuck to an old version of the image and unable
to migrate to a new version.

-Ralph Johnson

More information about the Beginners mailing list