On Jun 13, 2011, at 9:35 AM, Julian Leviston wrote:

> 
> On 14/06/2011, at 1:17 AM, Alan Kay wrote:
> 
>> It would be great if everyone on this list would think deeply about how to 
>> have an "eternal" system, and only be amplified by it.
> 
> Hi Alan,
> 
> You might need to elucidate a little more on this for me to personally 
> understand you. Not sure how others feel, but the "Worlds" work seems to be 
> just a description of a versioning pattern applied to running program state.

It seems like much more than that to me.


> Why is it especially interesting? In the Ruby community, we have "gem" which 
> is a package manager and also bundler, the two of which handle dependency 
> management and sets of bundles of dependencies in context and situ elegantly 
> and beautifully. Depending on your requirements when writing code, you can 
> point to "a" version of a gem, the latest version, or say things like 
> "versions greater than 2.3". It works really well. It also fits very neatly 
> with your idea of (Alexander's? ;-)) the arch and biological cellular 
> structure being a scalable system: this system is working in practice 
> extremely well. (Mind you, there's a global namespace, so it will eventually 
> get crowded I'm sure ;-))
> 

Consider that in a Squeak image, the compiled methods are reified as objects.  
With Worlds, you can make exploratory changes to code in a *complex running 
system*, and then back out effortlessly if it doesn't work.  You just throw 
away the World containing the modified code as well as the objects that were 
modified as a side-effect of running the modified code.


> What do you mean by an eternal system? Do you mean a system which lasts 
> forever?

Yes, I believe that's what Alan means.  One things that Worlds do are fill in a 
gap that prevents Smalltalk-80 from being an eternal system.  The problem with 
Smalltalk is that, although it is is possible to make code changes in a running 
image, it is also possible to easily trash the image by making the wrong code 
changes.  Furthermore, the more complicated the system that you're building, 
the easier it is to trash the image.  

To successfully build complex systems in Smalltalk, the typical approach is to 
periodically bootstrap the system by loading code into a fresh image, and 
running initialization scripts to bring the image up to a start-state.  We 
employed this approach at Qwaq/Teleplace.

Worlds provides a way (or at least points in a direction) to never need to shut 
down the running system.  Any changes made to the system can safely and easily 
be reverted.  I don't know how familiar you are with Croquet, but when I 
consider this capability in the context of replicated Islands of objects 
(including code), I find the potential to be breathtaking.


> and what do you mean by amplified? Do you mean amplified as in our energy 
> around this topic, or something else?

I'm not sure that I understood this, either.

Cheers,
Josh



> 
> Sorry for not understanding you straight away,
> 
> Regards,
> Julian.
> _______________________________________________
> fonc mailing list
> [email protected]
> http://vpri.org/mailman/listinfo/fonc

_______________________________________________
fonc mailing list
[email protected]
http://vpri.org/mailman/listinfo/fonc

Reply via email to