Like many programmers I have a long list of programming languages that I’ve been meaning to try, meaning to master, or just meaning to dust off and revisit. For example my boss wants me to check out F#. In fact lots of the people at work are using F# on an increasing variety of projects. For some folk this is clearly a great idea. Take Ralf for example. Ralf’s work often relies on applying clever Bayesian models to new problem domains. When Ralf codes the mathematical model and something doesn’t work he needs to deduce whether it’s something with the model or something in its translation into code that went wrong. So a language like F# that moves the implementation close to the maths without sacrificing the ability to call rich libraries is perfect for Ralf. But most of my code is user interface or (or data handling at present) so I doubt I’d see the same advantage. Still, F# is high up on my ‘to try’ list.
Another entry is Processing. I’m increasingly doing lots of data visualization work and some of the most beautiful interactive visualizations I encounter on the web are written in Processing. But I am a tad confused (not least by if it is called Processing or Proce55ing). As I understand it Processing is a cut down Java that lets designers approach programming in a sketchbook style. But I can code full Java so why would I do that? Wouldn’t it be like putting stabilisers or training wheels on my racing bike? Possibly not; it looks like the iterative nature of the Processing environment is its power. So that’s on my list too.
But the catalyst for this post is Perl. I did go through a brief Perl phase back in the late nineties, but I never got beyond the struggling phase. I remember once working for several hours on a VRML file manipulation script in Perl before I finally got so stuck that I didn’t mind revealing my lack of knowledge and asking for help. At the time we had John Dent (aka Denty) interning in my group so I popped my head up over the divide between our desks and explained what I was trying to do. Denty started typing at the command prompt, and one line of Perl later he hit return. The computer thought for a few seconds and out popped the answer I needed. One line of Perl may give the impression it was a brief script, but IIRC it was a few hundred characters long. Wow. So Perl has been on my ‘to try and master’ list for a decade now.
So what bumped it up? I’ve just finished Clay Shirky‘s book “Here Comes Everybody“. There’s lots to say about this excellent book, so I’ll weave it into more posts. Today it had me laughing on the train – and it is rare that a work book has you laugh out loud in public. It was the bit where Clay is recalling his days as a Perl programmer. Here are the two passages that had me LOLing.
>>> Where, [the AT&T engineers] asked, did we get our commercial support for Perl? We told them we didn’t have any, which brought on yet more shocked reactions: We didn’t have any support? “We didn’t say that,” we replied. “We just don’t have any commercial support. We get out support from the Perl community.”
It was as if we’d told them, “We get our Thursdays from a banana” <<< (p. 256)
>>> Perl is a viable programming language today because millions of people woke up today loving Perl and, more important, loving one another in the context of Perl. <<< (pp. 257-258 )