Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"
 
PerlMonks  

Comment on

( #3333=superdoc: print w/ replies, xml ) Need Help??

We often hear the comment, "No IT Manager ever got fired for picking Java." Why is this? Java is considered a safe choice because it can solve many problems and it has sufficient market penetration that it currently is not viewed as a risky choice.

I compiled the following in an attempt to show that no IT Manager should ever get fired for chosing Perl either. I am not trying to write a justification for why Perl is the best choice for any given IT task. Rather, I believe the evidence listed below shows that it is a perfectly acceptable choice and should be considered on even ground with other possibilities.

Given this information, a responsible IT Manager should proceed to select a language or programming platform based on things that actually matter like the task at hand, the budget, the current skills of the target coders, the current environment, etc.

I present it to you, esteemed monks, for input and review.

Aptitude for the task:

  • Perl runs basic CGI and is the language that made CGI ubiquitous on the web.
  • mod_perl is an advanced implementation of Perl that runs in the Apache web server. It provides extremely fast performance and full access to Apache internals via Perl.
  • DB interaction: Perl provides an excellent interface to nearly all available databases, along with an abstraction layer that allows you to switch databases without re-writing all of our code.
  • re-usable code architecture (modeles, OO, etc.): Perl is architected to allow and encourage re-use. The core block of re-use, the module, makes it very easy to leverage business logic across platforms in web applications, batch scripts, and all sorts of integration components.
  • CPAN, the Comprehensive Perl Archive Network, is one of the largest repositories of free code in the world. If you need a particular type of functionality, chances are there are several options on the CPAN, and there are no fees or ongoing costs for using it.
  • Multi-use: Perl can be used to develop Web apps, batch processing, data analysis and text manipulation, command-line utilities and apps, GUI apps.
  • Multi-language integration: can interact with C, C++, Java, etc. from within Perl code.
  • Multi-platform: Perl runs on Linux, MS Windows and all of the platforms listed here: http://www.cpan.org/ports/

Market penetration:

The main point of these stats is that Perl has a large and broad user community. With any technology you choose, you don't want to be the only one using it. These numbers show that Perl is still widely used for web development, among other things, and the user community is very active.

Notable Perl users:

Perl is used by Amazon, Google, Yahoo, and Ticketmaster.

Cost:

Perl, Apache, and related technologies are open source and free. On-going overhead cost to vendors for code that continues to run is $0.

Open Source:

  • You can look in and modify perl modules.
  • You can look in and modify perl itself.
  • Perl has a very strong user community and this is the primary avenue for support.
  • You can purchase support or consulting from multiple sources because any qualified Perl coder can look in the code and investigate problems.

Book sales:

Recent Bookscan stats show Perl at roughly three times the number of sales as Python, ten times as Ruby, and half as many as PHP.

O'Reilly Media is very much driven by numbers and they felt the Perl book market was strong enough that they published 4 new Perl titles last summer alone. That is a large number of books for a relatively small tech publisher to devote to a single language.

Job Openings:

There are many sites on the internet that post Perl jobs and they all more or less reflect the numbers listed at http://jobs.perl.org/about/stats

Some other jobs listings:

  • http://cwjobs.co.uk/JobSearch/Results.aspx?Keywords=perl

Basically, the number of companies listing Perl as a job pre-requisite is large relative to other technologies and has been consistent.

Active development:

Perl continues to be actively developed. Many developers are working on Perl 6, the next major version of the language. At the same time, dedicated teams continue to fix and augment the Perl 5.6, Perl 5.8, and Perl 5.10 releases. Many companies would have de-supported these version rather than maintain them. The fact that you can safely continue to use a production release of an older Perl without being forced to upgrade is a strong feature.

Release dates are available here: http://perldoc.perl.org/perlhist.html

Perl is also very mature and stable, and has been running on large production systems for years.

Other sources for Perl information:

Nice summary here too: http://perltraining.com.au/whyperl.html

Update: Clarified that mod_fastcgi is not Perl-only and started a list of other jobs sites.

Update: Changed 'fix' to 'modify' in the Open Source section.

Update: Now posted here http://www.perl.org/advocacy/whyperl.html also.


In reply to Why Perl is a Valid Choice by cbrandtbuffalo

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • Outside of code tags, you may need to use entities for some characters:
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.
  • Log In?
    Username:
    Password:

    What's my password?
    Create A New User
    Chatterbox?
    and the web crawler heard nothing...

    How do I use this? | Other CB clients
    Other Users?
    Others cooling their heels in the Monastery: (10)
    As of 2014-09-02 09:17 GMT
    Sections?
    Information?
    Find Nodes?
    Leftovers?
      Voting Booth?

      My favorite cookbook is:










      Results (20 votes), past polls