Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??
Most of you who are regulars on this site will know the parties involved. I am avoiding naming this monk directly (despite it being a poorly kept secret), because the point here is not "who is saying this", but to consider what is being said.

One monk, in a recent post, commented that his alter-ego on this site

... has made it all the way to nearly Level 4 with no downvotes.
As of this writing, his alter-ego's last post is on Worst Nodes with a reputation of -4. It may be that some monks have downvoted this because they know that this this monk is masquerading as another. However, I suspect that it's due to the "stated intent is to replace Perl" comment found in that post. Was that really necessary? I can see the point the monk had about Perl having inconsistencies, but I do not feel that Perlmonks is an appropriate forum for repeated criticisms of the Perl language.

Don't get me wrong, I have some issues with Perl. There are things that I would like Perl to do and other things that don't make sense unless I look at Perl from a linguistic standpoint as opposed to a programming standpoint. Personally, I have never programmed in another language that takes the unique approach to problem solving that Perl has. Pronouns, context? I thought I left those things behind in English and French classes in school. However, once I get used to them in programmng, they make perfect sense and I long for these features in other languages.

Despite Perl having been around for over a decade, it's still a groundbreaker in many respects. That means that as it grows and evolves, it's going to have growing pains. It's going to have things that programmers familiar with other languages just won't like. So what? If you don't like Perl, don't use it. It's that simple.

I suppose that I could sit down at a bar and make fun of a bunch of C programmers for using a language with no boundary checking and with only the most primitive of string manipulations. Their response? Virtually any application that they write will run much faster than any Perl application that I write. Sure, they'll stumble a bit when it comes to an application that relies on heavy regex work, but generally, Perl cannot run as fast as C.

Perl, like any language, has its uses. If I need to get something up and running fast, Perl's tough to beat. If I write CGI scripts with Perl using taint checking and maybe even a wrapper, I'm willing to bet my CGI scripts are more secure than the average C programmer's CGI scripts. With mod perl or FastCGI, I can even get around some of the speed issues. But Perl is NOT the end-all and be-all of languages. If anyone doubts this, read about The Lies We Tell.

In other words, there are strengths and weaknesses to Perl. Perlmonks is dedicated to helping us learn Perl better, share in the enjoyment of the language we enjoy, and occasionally ask for help in the most effective way of dealing with Perl's shortcomings. More than that, Perlmonks has become a community. Entering this community and repeatedly saying "You should be using [insert other language here] instead of Perl" is simply rude. Coming here and just slamming the language repeatedly is also rude.

Common complaints:

  • Perl looks like line noise.

    It can be, if it's poorly written. Unfortunately, many Perl programs are poorly written. However, it looks a lot less like line noise when you understand what all of those $@% characters mean.

  • Perl is not typed.

    Yes, it is. The typing is simply not based around int, float, long, char, double, etc. A more accurate statement would be "Perl is not typed the way I'm used to things being typed." This is true for many people. Once you get used to Perl, you understand why this is a Good Thing for Perl.

  • Perl is tough to learn.

    Perl is easy to learn... for the easy things. When you start getting into advanced concepts, Perl can indeed be a bear at times. However, I know of few languages that make the really complex tasks simple. I used to program in Easytrieve Plus, a fourth-generation language. It made the complex tasks easy, so long as you did not care about fine-grained control. It you want control and flexibility, you have to be willing to make the sacrifices that go with it.

  • Perl doesn't work the way I want it to.

    Perhaps you should consider using a different language.

So, before you start blasting Perl, consider your audience. If you have legitimate questions or concerns, by all means, let us know! If you're just hear for Perl bashing, don't bother. I doubt there is much you can say that we haven't heard before.

Cheers,
Ovid

Join the Perlmonks Setiathome Group or just click on the the link and check out our stats.


In reply to Consider Your Audience by Ovid

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 taking refuge in the Monastery: (3)
As of 2024-04-20 01:21 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found