Saturday, July 11, 2009

Perl Is Coming Back

You read it here first.

Okay, if you did read it here first, you need to read this as well (it's a bit lengthy). No rush, when you get a moment.

Perl?!

Yes, Perl!

Perl is the oldest of the web scripting languages. Perl 1.0 was released in 1987, which makes Perl 22 years old today, with 4 major releases since then. Perl 5, the latest version, is a good 15 years old now with 10 major releases of its own. It is older than PHP (1995), Visual Basic (1991), Python (1991), or Ruby (1995) all of which were heavily influenced by Perl.

Google uses it. FedEx uses it. The BBC uses it, and they're by and large one of the largest, most pervasive web presences on the internet today (thanks to Firefox and excellent content). Amazon uses it, and by extension, IMDb uses it.

The company I work for uses a custom Perl framework written in the early 2000s, from the dot-com era (and I blame my receding hairline on it; we're moving away from it now).

Everyone uses Perl, just nobody talks about it.

It's mature, it's pervasive, it's user-friendly (how many programming languages can you use that word on?) and it can be a pleasure to write.

It can be hell to read, but flexibility is a double-edged sword. If you're out to cut things, two edges is better than one, so long as you know how to use it.

A few sites that are doing some really good work with regards to Perl as of this writing:

Modern Perl Books

This is a blog by a gentleman aliased "chromatic." This guy sounds like he's been around for ever and he speaks a lot of sense. I'm officially a fan, and this is my Friday afternoon leisure reading.

It's fun to read even if you don't have a clue as to what he's saying. Some of the things he says are just general wisdoms. Plenty of insight available here.

Catalyst Framework

Catalyst is a Perl framework for rapid web application development. It's modeled against Ruby-on-Rails, while maintaining a sense of aplomb about it all, giving the user a tremendous amount of flexibility to leverage the tremendous power (and potential quality) of the CPAN to your advantage.

Non-Perl people will have no idea what I just said. But if you're a non-Perl person, you probably haven't read this far either.

So in case you do know what I'm talking about: wicked, isn't it? And if you don't know what I'm talking about, just know this: Catalyst is cool.

Perl Is Alive!

I was once on irc.freenode.net/#perl and I asked if Perl was dead. Someone directed me to isperldead.com, jokingly.

Well, looks like someone caught on and made a little website called perlisalive.org.

This site is a lot about "raising awareness." A certain Matt Trout, author and maintainer of the very excellent DBIC tools in Perl insists we needn't bandy words, it's "marketing."

Yes, it is about marketing (some of it not very good), so I find it largely a boring and insubstantial resource, but it has an excellent interview with Tom Doran on Catalyst 5.8.

It's like when you see a really great song by an artiste, and you really love it, you buy an album of his (or hers) and then find out that was the only good song in it? That's kind of how I feel about perlisalive.org so far.

But the Tom Doran interview was fascinating enough that I still check back here.

Perl Monks

Perl Monks is one ugly website. Mmm-mmm, my breakfast quickly reconsiders coming out for some air when I fire up this site. It looks like it was designed in the 90s and never got updated, and I'm pretty sure that's exactly what happened.

And yet, it is quite an excellent resource. These guys do some very good work, and their bad-marketing-but-depth-of-substance is somewhat emblematic of the humble competency that is endemic within the silent majority of users of Perl.

Moose

"Moose" is the new object system in Perl.

The current object system in Perl is hacky and bolted on, but Moose makes it all pretty and neat.

What exactly is so cool about it? I really don't have a clue, I haven't seriously started using it yet. But "chromatic" (mentioned above) talks about it to no end. He calls it the "state of the art" in object orientation. Now I haven't heard that phrase used in a long time, and it's certainly a toy I want to get my hands on soon.

Catalyst (also mentioned above) uses Moose extensively now.

So Watch Out...

From the depths of irrelevance and quick-hack sysadmin scripts, Perl is undergoing a renaissance.

Microsoft's "embrace, extend, exterminate" attitude toward standards is slowly petering out. The IT market today is getting more and more heterogenous, and that is good. It makes infrastructure more resilient, and encourages standards-compliance.

Combined with Perl's internal renaissance, Perl has everything to gain from this trend.

We're on our way back.

Labels

About Me

My photo
Singapore
I write essays in my spare time on things that are important to me. The ones that I feel are any good, or make any sense, I put them up here. :)