On 29.06.2009, at 22:19, Hernan Wilkinson wrote:

>
> there are two answers:
>        in Squeak the changes file gets full too quickly
>
> Ups, I did not know about that. what is the limit? why?
>

Smalltalk was originally realized for a *very* resource contrained  
machine.
(a self-build, very impressive design. Amazing for the time and in  
some aspects
even today). But: Lots of design desicions had to be made that where  
purely driven
by resource constraints.

So for the sources and changes this meant:

a) changes and sources use the same mechanism.
b) they are not nicely object-oriented in the image but outside.
c) the way this is done is a wonderful ugly hack.

The last bytecodes of any method are not bytecodes at all, but instead  
they form a pointer
to the sources and changes files. The end of the story is that this  
means that both can be
max. 32MB in size. Plenty even 10 years ago, not enough to update from  
3.8 to 3.9 today.
(changes file needs to be reseted at some point).

I personally think that with today's resources (my laptop has 4GB of  
Ram, not 256Kb), we should
rethink some of the design-desicions taken 30 years ago. But many  
people are violently against
this, fighting a battle by citing "embedded systems". If one manages  
to convince them
that "embedded" these days does not equal "small", they mumble about  
"smart dust" and obscure things
just to be able to fight for hacks not needed these days...

Exploring new ways with the resources we have today does not mean that  
everything needs to live in the
image. It means that one can affort to invest resources into very  
general, reusable solution to problems
like this.

One interesting aspect of the source/changes "outside the image" is  
that this problem of data that is
not used often and thus can live on disk vs. memory is a general one.  
Hacking it into the system just
for the sources is just that: a hack. Providing a general, scalable  
way to let objects live on disk
that are not needed is much better, as everyone can than use it. The  
system can use it for other resources
(fonts, images...). Programmers can use it to keep their domain data  
on disk automatically.

        Marcus

--
Marcus Denker - http://marcusdenker.de
PLEIAD Lab - Computer Science Department (DCC) - University of Chile


_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to