Perl 5 is Dying: a Follow Up

I upset a lot of people with my Perl 5 is Dying post. In fact, that is far and away one of the most heavily cited posts I have. I made people mad at me. I made a lot of people talk. While I'm sorry I made people mad (and I've had some blunt comments directed at me in pubs as a result), I'm very proud of that post. It got a lot of people arguing and thinking and I like to believe it spurred a few people (well, me at least) to do something about it. Here are just a few things which have been happening to turn things around (I am not taking credit for this. Many of these things would have happened any way and I was simply one of many people pointing out the problem).

First, and this is totally subjective, I don't see as many "Perl is dead" posts being written and Perl buzz is improving somewhat, as measured by TIOBE. Plus, Perl and is still doing excellently in job trends:

The Perl Foundation Marketing Committee is doing well and Dan Magnuszewski has been doing good work keeping on top of things and you can subscribe to the marketing list to see for yourself. Gabor Szabo has been particularly active here and has done tireless work in this area. Uri Guttman has also been helping out and helped connect us with Rich Sands, an excellent software marketing and business strategy executive who's working with TPF to help fix Perl's marketing issues. His previous experience with Sun and Java is clearly shining through here.

Meanwhile, Leo Lapworth has been busy revamping a lot of Perl web sites (and has more up his sleeve) and Jon Allen has been doing the same, including with the perl.org's most popular subdomain, perldoc.perl.org.

chromatic's Modern Perl Books blog is rather popular and helping to spread the word about best practices in Perl. Oh, and I would be silly to ignore the fact that blogs.perl.org is a shiny new blogging platform which the folks at Six Apart have done such an excellent job helping with (and many thanks to Dave and Aaron for their work on it!). There are several people here participating in the Perl Iron Man competition that Matt Trout announced as part of the Enlightened Perl project.

In short, we've come a long way. A number of these initiatives started before the "Perl is dying" post and a number of them happened after. I don't want to confuse correlation with causation because many of them would have happened anyway, so please don't think I'm taking credit for this. This post is to simply give people a "heads up" as to where we are and where we're going.

Of course, there's quite a bit more I could mention, but this post is getting long enough as is. My apologies to all the folks working in this area who I've not mentioned. I think things are definitely looking up and I'm very happy to see so many excellent people pitching in.

Thank you all.

11 Comments

TIOBE is a very poor data source. Using it because it happens to trend in Perl's favor doesn't make its data any better.

See, for instance, Tim Bunce's remarks, or my demonstration of their flawed analysis.

If a programming language is good enough, then it will just sell itself. Despite all those so-called statistical analyses, articles, etc.

If your language is so great, why do you have to advertise the sh*t out of it?

And on the other side of the coin: clearly Java just sold itself.

(We probably don’t want to be Java… but neither should we aspire to be Lisp.)

The idea that if a language is "good enough" it will sell itself is perfectly correct, as long as you understand that the notion of "good" is actually highly complicated and subjective.

Java was such a success because it gave people what they wanted at the time. Programmers wanted to get things done at a higher level, to be able to think in terms of objects and inheritance (highly in vogue), but were constantly frustrated by also having to deal with low-level concerns like garbage collection and portability. Along comes Java and sweeps them off their feet. Right place at the right time.

Perl had a similar popularity surge, being in the right place at the right time to start the LAMP surge. While we were surfing that wave at the start, it's pretty clear that in terms of popularity and buzz, PHP and later Python rode fairly high on that wave as well. In many people's minds, PHP replaced Perl, and Python replaced PHP, because they simply think "LAMP" as being Perl's only manifestation, with the P now meaning Python.

I guess my point is to agree with both sides: We can't predict what the next "big surge" of popularity will be based upon, so we should not be overly concerned with selling ourselves based upon "buzz" and similarly fickle, fad-based ideas. Nor should we become depressed when Perl is not the language that happened to be "in the right place at the right time." It is just hype.

But at the same time, it does behoove us to fight the negative hype. We aren't trying to convince anyone that Perl is "the next big thing." We are trying to educate people (at least, those who can be educated) so that they understand (one or more of):

  • Perl was not replaced by other languages. Perl co-exists (mostly) peacefully with other languages.
  • Perl is a solid technology, it is not deprecated nor is it unsupported.
  • Perl is alive, it has a highly active community of engaged, intellgent folks.
  • Perl5 continues to enjoy active development and improvements.
  • Perl6 is not a replacement for Perl5.

If people believe that, they will continue to be sold on Perl on the basis of its strengths. But if they fail to believe any of these items, we have a problem. Which is why we are concerned. Hence the marketing, hence us blogging about it. I think.

 

Adam Bellaire, that's a very good explanation. Thank you!

 

I think Java gave and gives other things beyond the technology:

1) A good feeling to management that they use the right thing.
2) A platform to make money by hiding code and by having a good brand name.
3) Security to management that they will always be able to find more developers.
4) A good investment in the carrier of the developer.
5) A good feeling to the developer that s/he using a language accepted and recommended by the companies.

I think a very large reason for why we're falling behind languages like Java, Python and Ruby is that they come with batteries included. We don't.

I personally don't think that these particular keyword search metrics are useful.

I've done a job hunt recently using the major job search sites. There is a large swath of postings that use "Perl" as a synonym for "general shell scripting". Perl programming, as we are thinking of it, is virtually (if not completely) non-existent in the actual workflow. I've seen "Perl" mentioned in postings for everything from "Senior J2EE Developer" to "Ruby Developer" to "Oracle DBA". When inquiring about these jobs, I got the obvious answer "we want X, not Perl".

The actual number of real, Perl-focused jobs is lower than reflected, possibly significantly so, whereas I do not expect to see such a deviation with the other languages.

A much more interesting and valuable metric would be comparisons of searches on current key technologies in each language (Catalyst vs. Ruby on Rails, for instance).

I love Perl just as much as anyone other lover of Perl, BUT

doesn't this data almost prove that Perl 5 is dying if you pre-suppose that the reason that there are more jobs around Perl is because legacy applications require much more work, including number of consultants and FTEs?

Using the job statistics before the y2k-problem, I could say that y2k-specific programmers would be employed for life. Yet, I haven't heard much about y2k since the actual event (where nearly nothing happened). Careful how you use statistics like this.

Leave a comment

About Ovid

user-pic Have Perl; Will Travel. Freelance Perl/Testing/Agile consultant. Photo by http://www.circle23.com/. Warning: that site is not safe for work. The photographer is a good friend of mine, though, and it's appropriate to credit his work.