biblio:~/Projects/ruby-oai ed$ ruby test.rb Loaded suite test Started .......... Finished in 171.247595 seconds. 10 tests, 280 assertions, 0 failures, 0 errors
So after about 4 hours of hacking I’ve got ruby-oai which is a OAI-PMH client library for ruby. Included is a test suite that puts all 6 oai-pmh verbs through their paces using OAI-PMH servers at the loc.gov, lanl.gov, pubmedcentral.gov.
Just a few days before I did something with sruby which is a SRU client library for Ruby. Now these are just the initial versions, and I’m sure there are ways that they can be improved. But after doing a few years of solid Java coding it’s just another reminder of how dynamic languages such as Ruby and Python can really help catapault productivity.
I have to admit, I do miss javac sitting on my shoulder reminding me of things I’m doing wrong at compile time compared with discovering bugs/errors at run time in python and ruby. But I’ve really come around to Bruce Eckel’s point about Strong Typing vs Strong Testing. Building sruby and ruby-oai using test driven development really makes me more confident that my code is working properly…and what’s more it makes me much happier with the look and feel of the API. This look n’ feel aspect is something that the mechanical javac can’t really help with. Doing test driven development in Java with Eclipse approaches this level–but somehow isn’t as fun–but I imagine it scales better to larger teams. However, I don’t work on any of these uber large teams anyhow. Hopefully I’ll find a moment to talk about the new work I’m doing in the coming weeks.