Slash Boxes
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

Ovid (2709)

  (email not shown publicly)
AOL IM: ovidperl (Add Buddy, Send Message)

Stuff with the Perl Foundation. A couple of patches in the Perl core. A few CPAN modules. That about sums it up.

Journal of Ovid (2709)

Wednesday December 03, 2008
06:09 AM

Perl 5 Is Dying

[ #38010 ]

Take a look at the November 2008 TIOBE index top ten:

  Position   Position   Programming     Ratings   Delta Nov
  Nov 2008   Nov 2007   Language        Nov 2008  2007
  1          1          Java            20.299%   -0.24%
  2          2          C               15.276%   +1.31%
  3          4          C++             10.357%   +1.61%
  4          3          (Visual) Basic   9.270%   -0.96%
  5          5          PHP              8.940%   +0.25%
  6          7          Python           5.140%   +0.91%
  7          8          C#               4.026%   +0.11%
  8          11         Delphi           4.006%   +1.55%
  9          6          Perl             3.876%   -0.86%
  10         10         JavaScript       2.925%    0.00%

Yes, I know TIOBE has some issues. If you think it can be dismissed because of that, you're part of the problem.

Perl comes in after Delphi? We've still a ways to go before being knocked out of the top ten, but we have an *excellent* chance of this happening in the next year. Last year I seem to recall mentioning on the TPF steering committee list that Perl had been in the top ten of this list for years and was likely to remain that way. We were number six on the list and we weren't going anywhere.

I was wrong. Now I realize that there are those who think this is a non-issue and Tim Bunce has been doing a great job of fighting the FUD because he has the temerity to (gasp) use data. However, that's not enough.

Perl is in danger of falling out of TIOBE's Top Ten for the first time in its history and that's going to make news. And regardless of our biases, we all know of managers/programmers/venture capitalists who are happy to decide based on headlines rather than real data. Here at the BBC, it's no secret that there was serious talk amongst management and some programmers about completely eliminating Perl internally. We couldn't, partially for the same reason insurance companies and banks can't get rid of COBOL. The fact that Java is not a substitute for Perl has helped. The fact that Ruby on Rails doesn't scale has helped. When a scalable substitute with available developers (you Seaside fanatics put your hands down) crops up, Perl could be in trouble here -- aside from that pesky COBOL syndrome.

IE is facing stiff competition from Firefox because once Microsoft beat Netscape, they rested on their laurels. Hell, once Microsoft beat Apple and thought Apple would stay down, Microsoft stopped developing IE for the Mac! Java was facing stiff competition from C# because they rested on their laurels. C# being Microsoft-only is the only reason Java is still so strong, but even this has brought much needed changes to Java. Perl is facing stiff competition for the exact same reason that Microsoft and Sun are. Because we failed to innovate, we're now playing catch up -- just like IE and Java. 5.10, and perhaps 5.12, are too little, too late. I believe that outside of the COBOL syndrome, Perl 5 is in danger of having no serious long-term future.

When 5.12 hits we have a chance of winning programmers back, but the language has so much baggage -- both technical and social -- that I don't think it will win anyone back. We're losing because we didn't need marketing when we were the duct tape of the internet and now we sneer at it. We're losing because we rested on our laurels and scoffed at the up-and-comers. We're losing because older programmers ignored the concerns of the younger programmers. We're losing for the same reason that there are still people who object to images on Web pages, much less Flash and Javascript.

The technical world is evolving and we're fighting tooth-and-nail to not evolve (anyone remember seeing people sneer at the "REST fad"?). Perl 6 might save us. I don't think Perl 5 can, but remember, it's just a pile of code. What I'm really saying is that the Perl community as it currently exists cannot save Perl 5. We're reinventing the language. We need to reinvent the community.

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
More | Login | Reply
Loading... please wait.
  • "Ruby on Rails doesn't scale..." I guess that's implicitly mentioned as the kind of headline FUD some managers follow.
    • Perhaps it's more fair to say that we (the BBC) have suffered some scalability issues with it.

  • The presence of Delphi in the top ten should be enough to discount TIOBE's list completely. Delphi. More popular than JavaScript.

    Perhaps there's some hidden Internet where Web 2.0 rounded corners are only possible through ADAX, and TIOBE's accidentally let on that such a beast exists.

    Delphi, also known as Pascal with object extensions, from the days when Anders Hejlsberg was still at Borland -- a decade ago.

    • There really is no point even talkling about TI**E, the guy behind it is known to be partisan towards python, makes no secret of the fact he hates perl.

      As chromatic pointed out, the fact he's included delphi shows how totally broken T***E is. []

      Shows plenty of metrics indicating that Perl community, usage, deployment and development is growing.

      In fact all evidence shows it's being used more and for bigger projects.


      @JAPH = qw(Hacker Perl Another Just);
      print reverse @JAPH;
    • Let me say it more bluntly.

      If you think TIOBE should not be completely dismissed because of its major flaws in both methodology and results, you're part of the problem.

      TIOBE falls prey to the First Citiwide Change Bank fallacy: that just by getting a LOT of bad data, you can overcome the problems inherent in your methodology. "One word: volume."

      But a lot of crap is still crap.

  • It took five and a half years to go from Perl 5.8.0 to Perl 5.10.0 which, according to CPAN, is a "testing" release, whatever that is. Six and a half years after the release of Perl 5.8.0, there's still no "stable" new major version of Perl.

    I disagree that gradual evolution has explaining power here. (Frankly, the only language above Perl on TIOBE's top ten list that shows even a flicker of evolution is C#. Python has a chance, but the modest goals of Python 3.0 may not compel upgrades. PHP's dying, and

    • IMHO, Ovid's points are absolutely spot-on and there's no need to play things down or look for excuses which might technically be correct but don't help the negative perception and reputation Perl has with managers and people new to the world of coding looking for a future-proof and appealing programming language. But most people in the Perl community don't realize this and will probably never realize it. If you look at how the world works you'll see that in most cases not the subjectively better thing wins
  • I am not sure if the core language matters that much. Moose shows that you can have nice Object Orientation in Perl without changing the core language. Frankly I don't see much difference between Perl, Python and Ruby - for me the libraries matter much more. And let's look where Perl was losing. It did not lose to Ruby - but rather to Rails. PHP? Again, this already been covered somewhere, the advantage of PHP is the deployment model not the language itself. As I wrote in What can bring the excitement []
  • I would love to see the birth of Perl 6 as the next guy, but I think that a few additions to Perl 5 would make a love of people -including newcomers- very happy:

    - We need a proper full blown Object Oriented framework. I don't care if it looks like java or ruby as long as it is standard (remember, we are catching up on this part).
    If it's too hard to implement in perl core, deliver it as a Module (Moose should be a candidate to deliver something fast) and include it in the *Standard* distribution so everyone

      • Actually, quite a number of languages have sigils attached to variables. Function and variable names cannot clash in Perl. The weird "built-in variables" are an annoyance mainly because they have global scope. And I fail to see how "Moose" is a joke, though you're spot on about Perl's built-in OO.

  • following the money... i.e. jobs..

    Nice Graph that puts it PHP, Perl, Python and Ruby in perspective : []

    Java and C are an order of magnitude bigger than Perl, Python and Ruby, Perl and PHP are considerably bigger than Python and Ruby.

    Growth for all is slow but steady, no big drops, no big jumps. Nothing to see here... T**** is spewing random shit again.


    @JAPH = qw(Hacker Perl Another Just);
    print reverse @JAPH;
  • I think we can dismiss Tiobe, have proven it []. Now you get to explain how I am part of the problem.

    Tiobe is deliberately lying. They know what's wrong, they've intentionally distorted the data, and there's nothing anyone can do to fix that. It's not just flawed, it's inescapably unsalvagable. Making Perl higher in a list of lies, or even wanting to change Perl's position in a stack of lies, is itself a lie.

  • Further down their page, the people behind that rating list note that *Logo* just entered the top 20. I think that shows you how useful the data are as a measure of how alive a language is!
    • The core perl community has a bias towards command line tools and more hacker oriented IDEs, vi and emacs are heavily used, but there are plenty of pretty good editors for Perl - Komodo (both free and commercial editions), not to mention scintilla based editors like Kephra and Padre.

      The editors are there, but people don't need or rely on them.


      @JAPH = qw(Hacker Perl Another Just);
      print reverse @JAPH;
    • I find that very interesting, but that information needs to get outside of the Perl world and into the hands of decision makers. And just holding steady on jobs isn't enough. COBOL's done that [], even though Perl looks better in comparison.

    • The fact is that new programmers are not even thinking about Perl.

      That is false. I have many new programmers ask me about Perl.

    • Your English is fine. No worries :)

      I do agree with your approach. We did this at one of my former companies and it worked fine. Subsequent employers have been very resistant because they assume they can get good developers out of the box. Still, I'm happy to hear that you and others are still encouraging ways to deal with some of the shortcomings we face. Thank you!