Explorable Languages
Bret Pettichord of Lessons Learned in Software Testing fame is doing his Scripting for Testers class in the Northwest this week for PNSQC. He and I got together last night to shoot the breeze and had some great conversations. If you are looking for someone on the cutting edge of agile testing you can do no better than Bret.
One that really stands out for me was out discussion on “explorable” languages such as Python or Ruby. Explorable languages essentially have an interactive mode that let you play with the system you are building without the edit, save, compile, run sequence. You just type stuff and the computer responds. From a testers perspective I can really see the advantage of this mode of interaction, plus you get a record of what you did.
As I am asked to take over code written by someone else I find myself wanting the same kind of thing as I start writing unit tests. I just need to play around with the system for a while so I can see how the original author was thinking. It made me realize how the next generation of developer tools could help with this understanding by providing more than just a list of classes/methods/attributes, but indicate somehow how they interact.