This post originated from an RSS feed registered with Agile Buzz
by James Robertson.
Original Post: How dynamic is dynamic?
Feed Title: Cincom Smalltalk Blog - Smalltalk with Rants
Feed URL: http://www.cincomsmalltalk.com/rssBlog/rssBlogView.xml
Feed Description: James Robertson comments on Cincom Smalltalk, the Smalltalk development community, and IT trends and issues in general.
Keith Mantrell is checking on the level of dynamic support in various languages - he tried Smalltalk first:
How dynamic is your (programming) language? I'm doing some experiments on changing classes at runtime without affecting existing instances. With Smalltalk ( at least with Visualworks) this was a breeze: added the code for a variable, accepted it and, hey presto, any inspector open on an instance got a new variable field set to nil.
I can't imagine trying to manage a server without this capability. This blog hasn't been taken down in months, but I've made major changes to the underlying code base. How? By making use of the facility keith mentions, that's how. All the blogs listed here are running in one server, and all of them have a bunch of objects instantiated at any given time. If I make a shape change to a class, I need it to change all the existing instances as well. What I do is test my changes on a local server. If it all works out, I upload the new version of the code to the server (so that a new start would load it), and I upload the change set. I don't restart the server; I just load the change set. Presto, everything gets updated with no downtime. And none of the weird jumping through hoops that .NET requires for this sort of thing either. If you want zero downtime, you need a dynamic language. If you like restarting every time you need to make a change - sure, go grab one of those mainstream systems....