agile

MR: Agile programming is a catch-all term encompassing a variety of methodologies and techniques, including eXtreme Programming, Scrum, etc. It's an area that has gained a lot of popularity in the last few years.

Dynamic languages are often favored by agile practitioners, though this is by no means universal (most agile development, as with most other development these days, is done in Java). A prominent notion in most agile methods is the idea of test-driven development, which relies extensively on automated testing; Tcl of course has a long heritage in that area.

Tcl, despite being a dynamic language, doesn't often come up in this context, although Python and Ruby are popular. Many of the original ideas behind agile techniques have evolved via the Smalltalk community, and hence many practices (such as code refactoring) emphasize object-oriented techniques. Tcl, for reasons that have been hashed out to death, is not considered a significant player when it comes to object oriented development.

One place to start finding more info is the Agile Alliance web site [L1 ]. Other references appear here [L2 ].