There’s nothing quite like a Damian Conway presentation, which is equal parts pop culture, deep science, software engineering and Monty Python’s Flying Circus
His previous talk in Toronto featured this mouthful of a title:
Temporally Quaquaversal Virtual Nanomachine Programming in Multiple Topologically Connected Quantum-Relativistic Parallel Timespaces… Made Easy
So what could possibly dampen my enthusiasm when I found out he was giving another talk in Toronto? Simple: his life’s work is devoted to Perl, a programming language that some have described as “bloody witchcraft” and “write-only”.
But with the first slide, he cheekily addressed this image problem:
“Content advisory: This presentation contains a substantial amount of explicit Perl.”
What’s going on in the photo? Did he forget to also warn us about violence? Not quite — it’s him giving a demonstration of Aikido on a certain local accordion player.
(Damian says these skills come in handy in bars — coincidentally, a strange setting considering he’s “the only Australian who doesn’t drink” and the “designated driver for an entire continent.”)
In any case, Damian’s dragging of Joey across the room was actually a lesson about Perl. Aikido uses the “motion of the attacker and redirects the force of the attack rather than opposing it head-on.” Similarly, Perl is all about finding the easiest way to get your job done. Something all geeks are on board with right?
Another thing we all love: duality. Lego vs Mechano, Star Trek vs Star Wars, and more specifically, which was the more annoying golden robot. It harks back to a more ancient duality: chaos and cosmos, deified in the gods of Ares and Apollo. As geeks, our sympathies lie more on the Apollo side of the spectrum. We have a natural tendency to look for patterns in data. For example, nerds have created periodic tables to describe just about everything: vulgarity, visualization methods themselves (bonus: the recursion in the chart), anti-science attitudes, or Perl 6 operators.
With Perl — and open source in general — our obsession with elegance and order has an extra dimension: we chaotically bring order out of chaos.
So what does all this have to do with Perl? Regular Expressions — something that even the most ardent Perl-hater would admit the language does a kickass job on. For the next two (!) hours, Damian explained the ins and outs of a new regex library that he had coded and how he had made it compatible with the current version of Perl.
The grand finale: a programmatic version of Abbot and Costello “Who’s on First” skit:
It might not look glamourous but that’s the new Perl regular expression engine talking back and forth with itself. Mind-blowing.
As we all know, no discussion about computer languages is complete without a few gratuitous jabs at the other languages:
(A reference to the notorious porn presentation at the Golden Gate Ruby Conference)
And now a word about Perl 6
Perl 6 seems to be quite an improvement over the current version but it’s been in the works for almost a decade (could it be the official scripting language of — the most famous of vapourware — Duke Nukem Forever?)
So for those yearning for a firm date, Damian might have hinted that there might be an announcement that might be made next week about a specific release date that might happen to be in Spring 2010.