in reply to Re: Popularity of Perl vs. availability of Perl developers
in thread Popularity of Perl vs. availability of Perl developers

Update: this was meant to be a reply to the original post, not dragonchild's. The statement quoted was in the original post.

"This is because the people who make the decision about which architecture to use (middle managers) generally have no clue about the technical merits of the various solutions."

This has been repeatedly quoted as the reason why Perl might be less popular than some other languages, but it is not true. The best technical guys pick the right tool for the job. I use Perl quite often, but there are lots of tasks for which I will never pick Perl.

Although it is possible to use Perl for big/medium size project, and some people do pick Perl, there are other languages that fit big/medium project much better. You can disagree with me, but you cannot disagree with the fact that I am a tech guy.

It is not so correct to view Perl as the competitor for languages like Java etc. As a matter of fact, Perl is better viewed as a competitor for Python etc.

  • Comment on Re^2: Popularity of Perl vs. availability of Perl developers

Replies are listed 'Best First'.
Re^3: Popularity of Perl vs. availability of Perl developers
by dragonchild (Archbishop) on Sep 25, 2005 at 13:41 UTC
    I would argue that Perl is a definite competitor to Java. The only place I would use Java is if the majority of the programmers I expected to be working on the project were merely average. As I don't choose to work with "merely average" programmers, I don't use Java.

    My rules of thumb are:

    • Any medium-sized project can be written in Perl with no more than 3 developers worth their salt, plus a junior
    • Any large project can be refactored into a series of medium projects.
    • Any project in Java will take 10x longer and will require 10x the effort of the same project in Perl. (Replace "Java" with C, C++, and the like, at your pleasure.)

    Remember - 90% of every Perl application you will ever write is already on CPAN. You can't say the same about Java. There is no equivalent repository for Java.

    Update: Improved wording based on the tongue-in-cheek response.


    My criteria for good software:
    1. Does it work?
    2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?

      Remember - 90% of every Perl application you will ever write is already on CPAN. You can't say the same about Java.

      Isn't it a bit unfair to expect Java extensions to be on CPAN? ;)

      Remember - 90% of every Perl application you will ever write is already on CPAN. ... There is no equivalent repository for Java.
      What about this? Granted, it's not as vast as CPAN, but it's only been around since April 2005, too.

      thor

      Feel the white light, the light within
      Be your own disciple, fan the sparks of will
      For all of us waiting, your kingdom will come

        JSAN is a similar effort for Javascript. If they work, then that's great! At the moment, there's no equivalent repository for Java. Ruby kinda has one, as does Python, but they're not anywhere near as extensive or battle-tested.

        My criteria for good software:
        1. Does it work?
        2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?
      * Any project in Java will take 10x longer and will require 10x the effort of the same project in Perl. (Replace "Java" with C, C++, and the like, at your pleasure.)

      I was thinking about writing a device driver in perl, but I couldn't figure out how to avoid memory allocation in the interrupt handlers.

      ;-)

        I've replaced web applications initially written in C. I've had to deal with an HTTP request parser, written in C (that had bugs I wasn't allowed to fix).

        And, in 20 years, you will be writing device drivers in Perl (or whatever is around). "There are some stunningly novel ideas in Perl" -- Paul Graham and The Hundred Year Language.


        My criteria for good software:
        1. Does it work?
        2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?
Re^3: Popularity of Perl vs. availability of Perl developers
by Jenda (Abbot) on Sep 25, 2005 at 12:57 UTC

    Well, quite a few projects that are big if you use Java (whether you look at the number of lines of code or the number of deveopers needed) would be small if you used Perl. So yeah, Java might be better if you have to assign ten developers to the project. If you used Perl though one developer + CPAN might very well be enough.

    Jenda
    XML sucks. Badly. SOAP on the other hand is the most powerfull vacuum pump ever invented.

Re^3: Popularity of Perl vs. availability of Perl developers
by perrin (Chancellor) on Sep 25, 2005 at 19:56 UTC
    Are you arguing that middle managers usually do have a clue about the technical merits of various solutions? That certainly doesn't fit most of the ones I've known, at least the ones who are more than one step removed from writing code (and thus get to make the decisions about how to spend the money).