« Could Leaving Vinyl (Records) Behind be a Mistake? | Main | Where's the MySQL Podcast? »

August 11, 2005

Why we're Sticking with Perl

I had a request to do a follow-up post on our look into other programming languages.

In my mind there are three reasons to move away from Perl:

  1. No industry support (can't find programmers, lacking community support).
  2. Another language required for collaboration. We're involved in a number of different projects that use Java, which pose a continual question about if we were using Java would there be more collaboration and exchange between projects. Most of the other schools using TUSK have PHP experience which
  3. Something much better is out there that is compelling enough to switch despite not being required by number 1 and 2.

We frequently run up against questions around issue number one and two, but number three is also something to keep in mind as this is a constantly changing industry.

Industry Support

Most recently we were trying to fill two Perl positions and not getting any response which resulted in questions from HR about Perl being a dying language etc.

A quick search on Monster's active resumes (posted within the last month) reveals that Perl isn't rare (shown in table).

Monster Resume Search
 matches search term
754"Java developer"
1000"Java"
319"Perl developer"
746"Perl"
168"PHP developer"
332"PHP"
39"Python developer"
77"Python"
6"Ruby developer"
44"Ruby"

I've become convinced that finding Perl employees isn't so bad just yet to warrant such a huge shift (we're talking a lot of lines of code and functionality).

Collaboration Requirements

We regularly hear two different comments. First, if we were using Java we could easily integrate work from other schools, particularly taking advantage of the efforts of the Sakai project. Second, all of the schools who have adopted TUSK as a content/course/knowledge management system have PHP expertise on hand and ask if they can work in that language.

Neither of these requests are quite concrete enough to warrant a full-on rewrite. We've talked about having development collaboration between schools, which would require some common language. We've also thought and talked about using web services to enable interoperation between our Perl-based site code and another system. So far there has not been a pressing need for this either.

A Better Language

Language choice is war. There are a zillion reasons why Perl, Java, PHP, Ruby on Rails, Python etc are the right or wrong choice. Currenlty, there's nothing so wrong with Perl and right with another language to warrant a move. This exercise has given me a chance to look at Ruby on Rails and the new OO stuff in PHP5 and I'll definitely be experimenting with both in my free time. For the complexity of our site, Perl runs very fast and gives us the framework to do good. It didn't help that Paul, who likes PHP, went to OSCON and sat through 1.5 days of Damian Conway's infectuous excitement about the greatness of Perl.

Summary

In concusion, having a few weeks go by where nobody was applying for our Perl job just isn't enough to warrant a multi-year effort to do a major shift. That being said, I bet it's not another 6 months and I'll be back here talking about how we're still thinking, and being asked about it.

Posted by mike at August 11, 2005 2:21 PM