Home > Programming > Why do people dislike Perl?

Why do people dislike Perl?

David Golden has called for an end to golf and obfu in an effort to dispel the “Perl is line noise” meme.

Unfortunately, I have to say I agree with most of the comments. I think the assumption “Perl has a reputation for being line noise due to golf/obfu” is false. In fact, I’ve actually occasionally heard people say “I don’t really like Perl, but the obfu is cool”.

I can think of 3 reasons why people might dislike Perl that I think would account for a much greater percentage than those who were led astray due to seeing obfu/golf (although this is obviously a very subjective and speculative discussion):

  • They’ve had to maintain poorly written Perl code. There’s plenty of it around. From this, people draw the conclusion “Perl leads to unmaintainable code”. It’s not rational, but I’ve seen a lot of people say this (both at work, and online)
  • They haven’t really used Perl a lot, but they’ve heard bad things about it. This can be especially true if these people see Perl as a direct competitor to their language of choice. They seem to think that by bashing Perl, it somehow makes their language better. An immature attitude, of course, but it does exist.
  • They’ve used Perl, and may not have had a particularly bad experience with it in terms of other people’s code, but they just didn’t like it. It didn’t fit their way of thinking. Maybe it didn’t provide the safety nets they’re used to. So they decide it’s Perl’s fault. A natural enough conclusion – I kind of think Java sucks, but that’s probably because it really doesn’t fit my way of thinking. Plenty of other people seem to be happy with it.

All three of these reasons for not liking Perl could easily manifest themselves as “Perl is line noise” comments. (As an aside, if you google “Perl is line noise”, you don’t get a hell of a lot. Maybe this meme isn’t as pervasive as we think).

An interesting thing to note: of those three things above, there’s not a lot we can do about any of them directly (except maybe the first one). Moreover, maybe we should ask: “Do we want to do anything?”. Perhaps we should look at the types of criticisms we can (and possibly should) do something about, like those chromatic recently pointed out. These are direct and precise criticisms of Perl itself: the reference syntax, function arguments, exception handling, etc. Not personal preference, or vague and general comments.

I don’t think we can worry about people getting led astray for trivial reasons. Or reasons beyond our control. We’ll waste a lot of time worrying, and end up throwing away parts of Perl (and the culture) that make it cool.

Categories: Programming Tags: ,
  1. dagolden
    June 9, 2009 at 6:32 pm

    Thanks for the thoughtful response. I think my somewhat tongue-in-cheek post got taken more seriously than I intended. It’s certainly not the worst of the (often false) criticisms leveled at Perl. I might nominate “Perl is dead” for that, but I think Schwern, mst and Tim Bunce are doing a much better job of debunking that I could ever hope to.

    I see the “line noise” meme along the lines of the “broken window” theory. There’s a fine line between idiomatic perl and obfuscated perl. (E.g the “goatse” operator) The more people fall in love with the latter, the more the line creeps towards it and the less people stop to think about how it might appear to others, whether newbies or maintainers.

  2. June 9, 2009 at 6:58 pm

    I think that the common issue for all you explanations is that people are uninformed. Some people wants to stay uninformed, for example you ‘not my language’-bashers, but other people likes to taught about the development of modern Perl.
    One of my colleauges, but every now and then I correct his style, explains why Perl does this or that, or points him at some Moose feature. And most of the time he seems more positive of the language. I doubt that perl will ever be his language of choice, but I think he will at least become a well informed member of you third class and might even make other people feel better about Perl.

  3. SF
    June 9, 2009 at 7:19 pm

    Check out the second paragraph of http://www.codinghorror.com/blog/archives/001274.html as a sort of counterexample from today in the world of programming blogs. It’s more the sort of thing I’m used to — not a wholesale “Perl sucks” argument, but making Perl the butt of jokes.

    • Mutant
      June 10, 2009 at 1:15 pm

      True… just read the comments on any Slashdot or Reddit post on Perl and you see plenty of responses like that. I usually don’t bother responding to comments like that – it doesn’t usually help much.

  4. June 29, 2013 at 5:27 pm

    Keep up the good piece of work, I read few blog posts on this website and I conceive that your site is very interesting and has bands of fantastic information.

  1. June 18, 2009 at 1:19 am

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: