Slashdot Mirror


Perl is the Most Hated Programming Language, Developers Say (theregister.co.uk)

Thomas Claburn, writing for The Register: Developers really dislike Perl, and projects associated with Microsoft, at least among those who volunteer their views through Stack Overflow. The community coding site offers programmers a way to document their technical affinities on their developer story profile pages. Included therein is an input box for tech they'd prefer to avoid. For developers who have chosen to provide testaments of loathing, Perl tops the list of disliked programming languages, followed by Delphi and VBA. The yardstick here consists of the ratio of "likes" and "dislikes" listed in developer story profiles; to merit chart position, the topic or tag in question had to show up in at least 2,000 stories. Further down the down the list of unloved programming language comes PHP, Objective-C, CoffeeScript, and Ruby. In a blog post seen by The Register ahead of its publication today, Stack Overflow data scientist David Robinson said usually there's a relationship between how fast a particular tag is growing and how often it's disliked. "Almost everything disliked by more than 3 per cent of Stories mentioning it is shrinking in Stack Overflow traffic (except for the quite polarizing VBA, which is steady or slightly growing)," said Robinson. "And the least-disliked tags -- R, Rust, TypeScript and Kotlin -- are all among the fast-growing tags (TypeScript and Kotlin growing so quickly they had to be truncated in the plot)."

22 of 472 comments (clear)

  1. Perl Is Hated Because It's Difficult by alternative_right · · Score: 5, Insightful

    Perl is easy to write, hard to write well.

    Sort of like death metal.

    It is hated because you have to use independent thought, and have quality of thought, to deliver anything but flaky gibberish.

    At the same time, you can do anything with it, and across multiple platforms especially, it is the fastest way to get anything done.

    So eat it, Stack Overflow commenters. You're just people googling your way to a paycheck anyway.

    1. Re:Perl Is Hated Because It's Difficult by Anonymous Coward · · Score: 0, Insightful

      Perl isn't hated because it is powerful, it is hated because it encourages the programmer to write unreadable code.

      Visual Basic have much in common with Perl in that regard, but if I got code written by someone else dumped on me and were asked to add something I'd take the Visual Basic one over Perl any time of the day.

      Languages that makes it easy to throw crap together are plentiful.
      What we need more of is languages that encourages homogeneous program structuring.

    2. Re:Perl Is Hated Because It's Difficult by tender-matser · · Score: 1, Insightful

      Sure, baby.

      When presented with some nasty, convoluted problem (eg. normalize the data from badly scanned documents and identify errors), you can be a "Real Programmer" and get nothing done after months of posturing, or you can be a lazy ass and throw some stupid perl script in half an hour (including debugging) that gets everything in and allows you to concentrate on stuff that is more intellectually rewarding

      That's why Perl is so hated by the "Real Programmers" -- because it devalues their stature and trade.

      Besides, not all code has to be so much readable. I have perl scripts that I wrote 10 or 12 years ago, that I'm using daily or almost and and that I never had the need to modify, ever.

      And, besides, "readability" is overrated; I don't know how you geniuses are "reading" code, but I never read source code like a textbook or RFC; when I look at code, it's because I'm debugging it, and after trying to make sense of some maze of stupid abstractions and useless interfaces designed by some deluded manboy, one becomes completely desensitized to the syntax ugliness, just like a hooker becomes desensitized to her clients' smell.

      If anything, compact, write-only languages are better, because it's always easier to read 100 lines of badly thought out garbage instead of 10000.

  2. I love to hate perl but it's not that bad... by bytestorm · · Score: 4, Insightful

    The CPAN library system is mature, it has ports on a ridiculous number of platforms, and the syntax isn't even particularly awful. If anything, its curse is (anecdotally) that it's everywhere and new-to-perl developers run across old code all the time and struggle to figure out the system it backs. And the fact that perl hacks had (have?) a bad habit of becoming defacto production code.

    1. Re:I love to hate perl but it's not that bad... by Average · · Score: 1, Insightful

      Gotta concur with that one. CPAN is plain misery. The PHP community, for all its warts, has had a major revitalization in the last four years largely because they've gone from a slog of a CPAN-clone to Composer/Packagist, which learned a lot of neat tricks from other languages' package managers that have improved in the modern era. CPAN feels like it come from an era when digital watches and Anonymous CVS were pretty neat ideas.

  3. Too much hate. by Anonymous Coward · · Score: 3, Insightful

    Why hate, why not dislike. I have been coding for 40 years and never came across a language I hated, just ones that weren't suited for the job. Hey, if the company is going to pay me $75 an hour to code I'll write the app in Sanskrit if they want me to.

  4. Experience-based opinions by Sarten-X · · Score: 5, Insightful

    Having worked in Perl (and many other languages) for about 15 years now, I'm curious how many of those polled actually use Perl regularly.

    Whenever I have to introduce someone to my Perl scripts, their first reaction is usually the typical horror, which fades in a few days after they start using it. Yes, there are comments. Yes, there is decent design. No, the regular expressions are not worse than any other implementation. No, the "clever" one-liner you copied off of a PerlMonks golf challenge will not pass review.

    Sure, there are a few weird warts on the language ("bless" being the most obvious example), but it's no worse than any other, and significantly better than some of today's much more popular languages. Mostly, I find that Perl just has a bad reputation because it allows you to write ugly code, just like C allows you to corrupt data and Java allows you to consume obscene amounts of memory. The language choice does not excuse being a bad programmer.

    --
    You do not have a moral or legal right to do absolutely anything you want.
    1. Re:Experience-based opinions by geschbacher79 · · Score: 2, Insightful

      See, I think it's fair for folks (like me) who don't have deep experience in a language to dislike it. If you initially showed me an average piece of Perl script, it would make me shudder and I would struggle to work through it. Like you said, "typical horror, fades in a few days". I hate that feeling.

      Perl is also one of those languages where I'm hitting up Stack Overflow for writing every single bloody line of code, and I wonder if that's where a lot of dislike comes in.

      Also, I think it's worth pointing out that 'dislike' doens't mean 'hate'. I dislike (but don't hate) Perl, and I'm guessing some of the above data suggests the same. It would be interesting to get a poll of "Which language would you most like to expunge from the universe?"

    2. Re:Experience-based opinions by Ecuador · · Score: 4, Insightful

      Even "bless" is gone now as people use Mouse.
      Perl code can produce horrors, a bit easier than some other languages.
      But well written Perl is readable and efficient. People who hate it as a language in general, most likely have no idea what they are talking about.
      PHP with some pretty major issues as a language is quite down in the list, scoring about similar to Objective-C.... Seriously?
      Seems like a list made by bad/beginner devs, which I guess makes sense from the way it was produced...

      --
      Violence is the last refuge of the incompetent. Polar Scope Align for iOS
  5. Re:Ruby... by Anonymous Coward · · Score: 2, Insightful

    What's wrong with Ruby? I find it a bit weird, but not hate-worthy. Perl I find unreadable, along the lines of FORTH. A write-only language.

  6. At least Perl stable. by Qbertino · · Score: 5, Insightful

    Perl is a wacky language and only bareable if you can handle old school unix stunts, no doubt. It gave birth to PHP, which speaks volumes. I remember reading an OReilly introduction to Perl and laughing at the wackyness. I've done the same with PHP, but I've always respected both. Sort of.
    Unlike newfangled fads and desasters like Ruby, Perl is a language that remains usable. Books on Perl from 18 years ago are still valid today, just like with awk, TCL and Emacs Lisp.

    Complain all you want about the awkwardness of old-school languages - they still work and many of them run on just about anything that can be powered by electricity. These days I'm still a little reluctant to say which side Javascript will come up on now that Node has it's very own version hodgepodge gumming up the works.

    --
    We suffer more in our imagination than in reality. - Seneca
  7. Two types of languages . . . by walterbyrd · · Score: 4, Insightful

    Those people like, and those people use.

  8. Enjoyed Perl 5 by mattr · · Score: 5, Insightful

    Funny, I quite enjoyed writing in Perl 5 and the feeling was empowerment, and the community was excellent. At the time Python was quite immature. Python has grown but Perl 5 is still quite useful.

    There is also quite a difference between legacy code and code written today using modern extensions, though it seems people enjoy trashing things, instead of admitting they did not actually learn it.

  9. Re:Javascript really sucks by Anonymous Coward · · Score: 2, Insightful

    I find it really amusing that many of the people who like to hate PHP are the same people who gleefully jumped on board the Node.js bandwagon.

    JavaScript and PHP came onto the scene at a similar time, and many of the worst problems are shared between them.

    Both languages have evolved since then, and particularly in recent years, and both are now significantly more mature, robust and well-rounded languages. They both do still have serious issues, but it is possible today (even commonplace) to write good quality, well structured and maintainable code in either of them.

    There are good reasons to still dislike PHP, but hating it today is irrational. If you still hate PHP today, I challenge you to re-examine the modern PHP ecosystem and some modern PHP code and understand how the language has changed. Then justify your hatred by pointing out issues that you have with PHP that are still there. Yes, there are some, but other languages have their issues too. I honestly believe that PHP has come right now.

  10. Re:No COBOL? by Waffle+Iron · · Score: 3, Insightful

    Yeah, but once you've been working in a field for a few months, you're no longer a layman. It's easier for a layman to use a Veg-O-Matic than a chef's knife, but anyone who works in the restaurant industry would pick the latter tool.

    A computer works using a set of mathematical logic operations. There's no need to dress them up to look like fancy talkin'.

  11. Re:Javascript really sucks by UnknownSoldier · · Score: 2, Insightful

    > But the only language I learned to actually hate is Javascript. Talk about a steaming pile of shit.

    That's because Brendan was a fucking idiot. JavaShit was designed and implemented in 10 days -- which would be impressive if he actually put some _thought_ in it. In contradistinction it was like almost every shitty thing about Basic was embraced and NOTHING about writing type safe programs from the past 40 years was used.

    * Accidentally misspell a variable? That's nice -- we will just magically use it! Undefined FTW.
    * Want misspelt variables to be flagged at run-time? Use the hack magic string

    "use strict";

    * Want to turn it off? Nope, sorry, no can do.
    * Want to include files? Bwuahaha. What do you think this is? A programming language?
    * Arrays and Strings are half-assed. What would you _think_ the result of

    "" + [1,2] + [3,4];

    should be? There are 3 possibilities:

    1. [4,6] = Vector or Matrix addition
    2. [1,2,3,4] = Array concatenation, aka [1,2].concat( [3,4] );
    3. undefined = Exception thrown for mixing types

    So what does JavaShit do? It uses an idiotic 4th choice!

    4. "1,23,4" = String Concatenation WTF!?

    More examples of how fucked up JavaShit is

    Both JavaShit (JS) and PHucked Up (PHP) languages were designed by morons. At least other languages have _some_ sanity.

    At least ES5 doesn't suck (as much).

  12. Re:Is that surprising? by AndroSyn · · Score: 2, Insightful

    C sucks at string handling. Thus perl.

  13. Perl is just fine by Anonymous Coward · · Score: 2, Insightful

    I love perl. What I don't love is the deliberately obfuscated perl written by someone trying to be clever and/or indispensible by writing code only they can (quickly) understand. A quick down-and-dirty perl script is one thing, using it in reusable scripts is just immature and pointless. Especially those who refuse to document their code.

    THAT is the part I detest.

  14. Re: Ruby... by sce7mjm · · Score: 3, Insightful

    As is often the case your doing it wrong.

    if you are having problems with Perl being updated when your server updates you are probably using the Perl that was installed as part of your system to run your app.

    Perlbrew now makes it simple to run an independent Perl for a single user/service that only updates when you tell it to.

    What you describe is no different than if your app uses a c runtime library that is over written by the system during an update.

  15. Re:Is that surprising? by fahrbot-bot · · Score: 4, Insightful

    My experience with the Perl hate is it's usually from younger people (by which I mean anyone under about 40). It violates everything some may have been taught as part of their software engineering program: it's difficult to read, maintain, and support.

    The quality of the program structure and the ability to read, maintain and support it are due to the programmer, not Perl. People can write programs well/poorly in any language. Like some others here, I *love* Perl and always endeavor to write clear, well-organized code - like I do in any other programming language - so others can make sense of it -- you know, in case I get hit by a bus tomorrow... It's call being professional.

    Hate the programmer, not the programming language.

    --
    It must have been something you assimilated. . . .
  16. Re:Is that surprising? by al0ha · · Score: 4, Insightful

    Yep - Perl is C for lazy programmers - well maybe not lazy, but programmers that don't want to have to deal with allocating and freeing memory, which is the bane of C and where many of the security problems arise. The other beautiful thing about Perl is no matter how you write your code, the interpreter compiles it into the most efficient form, just like C.

    I think hate for Perl stems from the scripters who try to show off their Perl skills, writing the most concise code which is exasperatingly confusing and serves absolutely no purpose. Whether you write verbose code which takes many lines to do the same thing as concise and hard to understand code, at run time they perform exactly the same.

    Perl coders have only themselves to blame for the hate; thousands of lines of stupid hard to read code is a nightmare for the person that comes along months or years later and has to work on your code. Stop it damn it, stop it!!!!!

    --
    Did you ever wake up in the morning, with a Zombie Woof behind your eyes? -- FZ
  17. Re:Is that surprising? by phantomfive · · Score: 4, Insightful

    Show me a person who hates Perl, and I'll show you a person who doesn't grok regex.

    --
    "First they came for the slanderers and i said nothing."