Sterling Hanenkamp
wrote a great response to the now-infamous TIOBE
Index
article about how Perl is on its way out. This article
is the sort of thing I wish I’d done when I was doing PR for The
Perl Foundation. Sterling’s given me permission to republish it
here. Here’s a link
to the original
. — Andy (Lester)

I’ve been taking DDJ for a couple years now. It’s cheap and
occasionally has something interesting in it, but it’s been less
interesting than I remember it being when I read it in college.
I’ve been much more enamored with the Communciations of the
ACM
. Today, I received my issue and there’s an interview
with Paul Jansen of TIOBE Software.
In the article, he’s quoted saying:

Another language that has had its day is Perl. It was once the
standard language for every system administrator and build manager,
but now everyone has been waiting on a new major release for more
than seven years. That is considered far too long.

Note: This is such a cowardly use of the passive voice.
“That is considered far too long”? BY WHO exactly? He’s expecting
us to swallow his unattributed assertion as if everyone considers
seven years “far too long”. — Andy (Lester)

While I am biased, I have to admit that I disagree pretty strongly
with Jansen’s assessment. First, let me go into the problems with
how he came to this conclusion and then explain why I think I’m
justified trusting that Perl is in it for the long haul despite my
bias that would have me think so anyway.

I want to first evaluate the way Jansen has collected the data
he’s used to make this statement. TIOBE puts together what they
call the TIOBE
Index
. This is a rating of the popularity of various programming
languages. The TIOBE web site claims, “The ratings are based on the
number of skilled engineers world-wide, courses and third party
vendors.” How do they measure
this
? By performing a search for:

+"<language> programming" 

on 5 popular search engines, including: Google, Google Blogs,
MSN, Yahoo!, and YouTube. That’s it.

What they are measuring is not actual popularity, but the amount
of hype surrounding each one. Not only are they measuring hype, but
only hype that discusses “programming”. What if everyone prefers
to say “programming Perl is fun!” That wouldn’t get picked up by
the search they use. What about “Perl scripting”? Nope. Missed.
(Here I should point out that Andy Lester appears to have been on
to something when he gave his lightning talk
about Perl programs versus scripts at OSCON last year.) In essence,
this is, if they’re disclosing the complete metric, incomplete.
It’s a shortcut that might be 90% right or 50% right. This is just
poor statistics.

The second aspect of Jansen’s comments I take issue with is the
statement that there has not been a major release in seven years.
That’s not strictly true. Perl 5.10 has just been released and it
includes new
features
like the new smart match operator. Beyond that, there
has been some very active development on a closely related project,
Parrot, and language
development toward a huge milestone, Perl 6. Furthermore, where
Perl truly shines is in all the development on CPAN. CPAN is getting large and
complex enough now that we’re having to rethink
how it works just so we can find anything on it. This is a good
problem to have.

This comment by Jansen does, however, serve to indicate a certain
perception gap caused by the long wait for Perl 6. It’s even been
considered that the name of Perl 6 is harmful to Perl 5. This has
been discussed
out by others
for some time.

In my opinion, Jansen is on shaky ground with his claims and
probably only because he’s not well informed by anything but his
own metrics. I should think that he’d at least research the trends
and issues facing the top 10 languages listed by his survey as to
provide some better justification for it’s accuracy.

As for the reasons I still have warm and fuzzy feelings toward
Perl’s future, I can list them off rather easily.

  1. I am participating in a number of growing projects that depend
    on Perl’s future. Jifty and rethinking-cpan
    are just a couple I’m involved in. I can point you to several other
    vital projects that I use or am familiar with.
  2. I know of
    several companies actively pursuing Perl to develop core projects
    and continuing to train developers. This includes imdb.com, Socialtext, Best Practical, Six Apart, and several
    others
    .
  3. Recently, Google launched Google App Engine. This tool provides
    services to Python developers as part of the initial release. The
    top most voted for issues are first to add support for Ruby and
    second to add support for Perl, as
    of this writing.
  4. There’s an average of 50 new and updated
    modules being posted to CPAN every day. That’s not a small
    number.

I can probably come up with more, but now it’s getting late, so
I’d better end this thing. If Perl is going to die, it’s got some
years left before it happens. I think there will be enough activity
to keep it going and increasing during those years rather than
dying.