This post originated from an RSS feed registered with Agile Buzz
by James Robertson.
Original Post: Dynamic maps better
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.
Darrell Norton explains why dynamic languages - like Smalltalk - map so much better to the ideal design process:
designers, mentally and at lightning speed, were doing the following things:
They constructed a mental model of a proposed solution to the problem.
They mentally executed the model -- in essence, running a simulation on the model—to see if it solved the problem.
When they found that it didn’t (usually because it was too simple), they played the inadequate model back against those parts of the problem to see where it failed, and enhanced the model in those areas.
They repeated steps 1-3 until they had a model that appeared to solve the problem.
Now, look at what Benjamin Pollack does when using what he calls REPL in Smalltalk:
Add or modify a few methods in a couple of classes
Open up a Workspace (Smalltalk’s REPL) and print out the results of some arbitrary code that tests what you just wrote
If you hit a bug, you can easily inspect any value in the entire system to find the error
Once you find it, make the change, massage any “damaged” data back to pristine state by hand using the Workspace, and then resume execution where the breakpoint happened to see whether your fix worked
Repeat
If you map steps 3 and 4 in the second list to step 3 in the first list, they are almost identical!
That's a very good point - the Smalltalk developer is solving domain problems while the static crowd is handling syntax issues :)