The Artima Developer Community
Sponsored Link

Agile Buzz Forum
Changing the Engine while the car is in motion

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
James Robertson

Posts: 29924
Nickname: jarober61
Registered: Jun, 2003

David Buck, Smalltalker at large
Changing the Engine while the car is in motion Posted: Dec 5, 2006 12:02 PM
Reply to this message Reply

This post originated from an RSS feed registered with Agile Buzz by James Robertson.
Original Post: Changing the Engine while the car is in motion
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.
Latest Agile Buzz Posts
Latest Agile Buzz Posts by James Robertson
Latest Posts From Cincom Smalltalk Blog - Smalltalk with Rants

Advertisement

Niall Ross is talking about in place updating of an application. Here's Niall:

The fantasy scenario: "We'll port to (insert language here - could just be a new major release of something like Cincom Smalltalk), freezing development while we port". Fantasy, because no one can go through the porting period with no new features.

The reality: Frantic development continues while you port - which makes the porting task all the more difficult.

Niall recommends an agile approach: work with the pressures, not against them. So you minimize early code changes (namespaces, class definitions, etc).

Porting from single namespace Smalltalk to modern VW - create a single name that will be used, and to start with, do this:

  • Build a package with only a namespace and the right resolutions
  • or...
  • define a "faux" namespace that actually maps to the Smalltalk namespace (which allows you to make the bigger change later).

Niall also recommends keeping the old (non-namespaced) and new (namespaced) codebases in synch, in Store. You can do this by creating rewrite rules and reconciling code between Store packages/bundles. One key tip: defer broken initialization issues until later. Loaded code is easier to fix than unloaded code.

The demo Niall is showing is pretty cool - using rewrite rules and a port of Store for Glorp to VW 3, he's replicating code from VW 3 into a Store repository, and then reconciling it in VW 7.x. Another cool thing - Niall and a few other people have extended the rewrite engine piece of the RB with menus, in order to make it easier to use.

Read: Changing the Engine while the car is in motion

Topic: XPDAY2006: Are We Nearly There Yet? Previous Topic   Next Topic Topic: Office Defense Systems

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use