[Seaside] [OT] Why use an image file ? (was Re: Seaside & Ruby
rh at 4096.sk
Wed Sep 7 15:59:48 CEST 2005
On Wed, 7 Sep 2005 seaside at fbeausoleil.ftml.net wrote:
> Hi !
> radoslav hodnicak said the following on 2005-09-06 19:40:
>> Loading postgres client 0.9.2 into clean image and then glorp 0.3.138
> *should* work, I tested it.
> You see, that's what I never liked about working with images. Maybe I'm just
> old school, but if I have two or three projects going on in my image, should
> I just delete my work just to get some other part working ?
that's not what I'm saying. Loading into clean image is just the process
of eliminating other factors that might lead to failure. If it doesn't
work after loading into clean image, then it's a problem for me (I'm the
glorp port maintainer). You don't need to delete your work to get other
parts working, although sometime you might have conflicting changes when
it comes to system classes.
> Please, I don't want to offend anyone ! I understand the concept behind the
> image, and I *really* want to like Smalltalk, but the image thing has stopped
> me every time. What I probably need are references as to *why* it is
> considered better to use an image instead of plain old files.
This question comes up every so often, and indeed images are strange
concept to many people who look at smalltalk for the first time. However,
you just have to realize that no matter what programming laguage you use,
at some point you end up with parts of memory where your data and code
Consider writing program in C. You write it, compile it, link it and end
up with binary file that is then loaded into memory by operating system.
It is sort-of like smalltalk image, with the difference that it's one way
- from disk to memory.
In smalltalk, interactivity and direct access to everything is the "prime
directive". That's why you can change the memory image with normal tools
(this includes loading or creating new code), that's why you can inspect
and view everything in it, that's why you can save it back to disk and
I suspect one could always build a new image from files and throw it away
at exit. But I think it would lead to similar "object blindness"
java/c++/... programmers develop, because for them objects are just some
lines in header files. They never had their objects under microscope in
inspectors, telling them what to do, watching them change and yelling at
them when something didn't work out as planned :-)
More information about the Seaside