[Tutor] Modifying Source Code while Program is Running

Kent Johnson kent37 at tds.net
Fri Nov 25 14:44:32 CET 2005

Ed Singleton wrote:
> On 24/11/05, Kent Johnson <kent37 at tds.net> wrote:
>> It sounds like maybe you come from a background in Smalltalk, or
>> maybe you should look at Smalltalk. In Smalltalk the whole
>> environment is dynamic and can be saved and restored easily.> 
> Just had a quick look at Smalltalk, and at first glance the overview
> of the ideas behind it seems amazing, but the language seems quite
> ugly, and it seems to be very IDE led.

I guess the language grows on you, it certainly has some strong supporters. It is very oriented to a single comprehensive environment. I think this is one reason it never became generally popular. But it also is what gives the language its extreme malleability. It does do what you want - it allows you to change objects and classes dynamically at run-time and save the state of the system at any time. The down side is that all interaction with the system is from within.
>>For Python, I think you will do better if you narrow your requirements. Python is very dynamic - classes can be changed at runtime, or reloaded if you are careful - and there are several good ways to persist state. If you can be more specific about what you really need there may be a solution for you.
> What I want to do seems quite simple to me in concept, but is seeming
> more and more as if it would be hard to implement.
> I want to create a small simple CMS for my website.  Users will be
> able to add and edit basic pages.  Pages can have sub-pages (no need
> for folders cause a folder and an index.html can be unified into one
> concept).

Have you looked at Plone and PyLucid?
> Indeed
> it doesn't really seem that Python is suited to a persistent
> environment.  Having a program running for a long time (months) is
> possible certainly, but it seems to be fighting against the language
> rather than working with it.

Python provides mechanisms for persistence but not a way to persist the entire environment. You have to design and build your program to support persistence. Long-running Python programs are certainly possible.

PS Please reply on list.


More information about the Tutor mailing list