I want to do some statistical data-munging with data from The Public Whip, and I’ve been trying to decide what programming language I should do it with.
Haskell is the first option. I’ve been meaning for a while to use it to do some real world
, scripting-type tasks. Functional programming style is good for data munging, as Google knows. Perhaps judicious use of combinators would enable me to specify a variety of reports in a small embedded sub-language. That would be cool. The toolset would be HUnit, HaskellDB, and maybe some library of statistical functions if there’s a suitable one out there.
The second option is Alice ML, which I want to learn in more detail. Most of the advanced features of the language are irrelevant to the task at hand, however. It’s a pretty serial sort of task, so declarative concurrency won’t be much help. On the other hand, ML is more forgiving than Haskell when it comes to I/O.
The third option is Ruby. I quite fancy doing the whole Agile/TDD thing by the book (although with HUnit I could do that in Haskell as well). But will this force everything into an OOP straitjacket? Any Ruby code I write is likely to make heavy use of blocks (closures) and higher-order functions, just because that’s the way I tend to think about things nowadays - it would be interesting to see how this gels with the standard approach to building test fixtures. Of course, it might work out just fine.
Of the three, I’m prepared to bet that Ruby is far and away the easiest to connect to MySQL.