Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??

I tend to prefer not to romanticize programming langauges, but select a langauge for the task at hand based on what langauge is actually best suited (within the group I'm familiar with.)

The Perl langauge does have a lot of implicit power. Dynamic strings, hashes, and auto-vivication are (to me) Perls most power features.

But what really makes Perl shine is CPAN. In there, you have a huge collection of tools, fairly well catalogued and searchable. A central repository with a massive user base, which means it's well tested (at least, those modules that I can figure what to do with. Quantum::Superpositions is cool, but damned if I know what do to with it...), and generally well supported. In addition, a large number of the modules are written by people who've developed quire respectable names. For instance, if you find a module by Damian, you can pretty much take it to the bank that's going to work.

I still maintain that a large portion of Perls success is based on CPAN. Many C and C++ libraries exist to perform similiar functions, but nowhere have I found an archive that's as readily as accessible and comprehensive.

Many people get involved in Perl without realizing that CPAN exists. They decide they want to do some dynamic web pages, and Perl is a natural. Or they pick up code from someone else for some purpose that requires a CPAN module. I don't think many people say "I'm going to do some heavyweight multi-body orbital calculations, I think I'll use Perl." But once people start making use of the langauge, they start finding other applications for it (although this phenomenom is not limited to Perl. Java and Forth heads do the same thing). Partly because they discover they enjoy the language (by the way, there *are* people out there that don't like Perl. I personally know such one. She doesn't like 'C', though, so she's just a lost cause...), partly the development cycle in Perl can be quicker than other langauges, and a lot because they discover that a great amount of the underlying grunt work (CGI.pm always springs to mind) is already written.

There are a couple of other reasons for Perls success. Accessibility, timing, and ease of adding modules. The tools for Perl itself are easy to obtain. It was easier for me to figure out what version of Perl I needed than what files I need to get glibc-6 (or is it 2.2? Or is the compat libs for 6 in 2.2? I remember it was something completely unintuitive). Timing because the programming community was ready to accept something like Perl, and Linux was coming along, and they complimented each other. And module addition. I don't use the CPAN shell, but do it the old fashioned way. And I know that it's always going to take 4 commands to install a module. VERY consistent. Don't have to read a poorly written readme, and run ./configure, then play "guess what the author really meant".

These are my views why Perl is as popular as Perl is.

--Chris

e-mail jcwren

In reply to (jcwren) Re: What is it about perl that makes perl so cool? by jcwren
in thread What is it about perl that makes perl so cool? by zigster

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



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others musing on the Monastery: (5)
As of 2024-04-26 08:09 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found