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
