. .

smalltalk

The Joys of Patch in Place

January 1, 2010 12:47:45.862

Smalltalk One of the things I really like about Smalltalk is the "living" nature of it - you make a change, and your environment notices it right away: no recompile, no taking your app down and up, no "have to rerun to that point"... it just takes the change and runs with it.

This morning I noticed a small bug in the archive links, for instance. Looking at my test server (on a Linux box here in the house), the problem was obvious enough; it was a stupid little bug. The part I like is how I addressed that in the running server (both here and over at my Cincom blog):

  • Had VisualWorks drop out a change set (all the changes I had made) as source code
  • Transferred the code to both servers, here and over at Cincom
  • Transferred the new version of the component in question, so the changes would be there if the server was restarted
  • Went to a small control panel I have in the app server and had it load the change

The last part is just a simple file-in - the Smalltalk image loads and compiles the code, and keeps going along its merry way. Even if that change involved shape changes to existing objects (i.e., redfining their class), things would be ok: the image modifies every such object that exists in the image. This change was simpler than that, but it's a really nice thing to have - it means that there's almost never a reason to take an Smalltalk server down. It can be patched in place, while it's serving requests.

I just think that's cool, and it makes a Smalltalk developer just a little more productive.

Technorati Tags: ,

posted by James Robertson

 Share Tweet This