Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

Thread on Joel on software forum : "I hate Perl programmers."

by techcode (Hermit)
on Jun 16, 2005 at 08:53 UTC ( #467208=perlmeditation: print w/ replies, xml ) Need Help??

I've just been looking through my list of "favorites" url's. Among them, I put also sites that I intend to visit in the future.

And just spotted something I previously saw quite some time ago: The link to the thread

EDIT: Being in favorites doesnt mean that I like it - just that I find it "interesting".

I quote:

Maybe I'm being too generous by calling them "programmers." Take a look at this snippet from the C::Scan module:

my($sym) = gensym; my $cmd = "echo '\#include \"$filename\"' | $Cpp->{cppstdin} $Defi +nes $addincludes $Cpp->{cppflags} $Cpp->{cppminus} |"; #my $cmd = "$Cpp->{cppstdin} $Defines $addincludes $Cpp->{cppflags +} $Cpp->{cppminus} < $filename |"; #my $cmd = "echo '\#include <$filename>' | $Cpp->{cppstdin} $Defin +es $addincludes $Cpp->{cppflags} $Cpp->{cppminus} |"; (open($sym, $cmd) or die "Cannot open pipe from `$cmd': $!") and bless $sym => $class;

Clearly, the idiot--I mean author--is trying to open up a pipe to some program for reading, but also wants to write something to it first. He achieves this by building up a command string in $cmd that will "echo" the stuff that needs to be written into the standard input of the program, and the "|" at the end of $cmd will cause open() to open a pipe to the whole thing for reading, which will be stored in $sym.

Why not just use IPC::Open2 to write/read from the program normally like any other file handle? Well, this way is so much more clever! And not only is it more clever, it doesn't work on Windows! And not only that, notice the author decided to short-circuit the open() statement with "or die," ensuring that execution will cease if the command fails, but also short-circuits the entire expression with "and," making the statement needlessly longer by combining what should really be two statements into one.

These fucking assholes infuriate me to no end. They are worse, in many ways, then the mindless Java/C#/C++ drones they deride, because they give the alternative such a bad name.

Perl is the most expressive programming language in common use today. Perl gives you statement modifiers, short-circuit operators, and anonymous functions. It gives you namespaces and import/export facilities. It gives you everything you need to write tight, manageable code, and what do these fools do with it?

They make mud pies out of dog shit, like this:

my $content = ($resp->content_encoding || '') =~ /\b$SOAP::Transport::HTTP::Client::COMPRESS\b/o && $self->options->{is_compress} ? Compress::Zlib::memGunzip($resp->content) : ($resp->content_encoding || '') =~ /\S/ ? die "Can't understand returned Content-Encoding (@{[$resp->c +ontent_encoding]})\n" : $resp->content; $resp->content_type =~ m!^multipart/! ? join("\n", $resp->headers_as_string, $content) : $content;

They could easily write the clearest and most beautiful code this side of Steve McConnell's ego and it would still be ten times shorter than the C equivalent. But you see, laziness, impatience, and hubris are not their only "virtues." Perl hackers are greedy. Shorter isn't good enough for them. They aren't satisfied unless they're typing as few keystrokes as humanly possible.

I am sick and tired of being associated with you hacks. I am sick and tired of the reaction I get when people find out I use and actually like Perl. You assholes are a disgrace to the entire field of software development, and it's high time one of your own started calling bullshit on you.

Lies of Society (LoS) Friday, January 28, 2005

I dont say that I like the way this guy wrote it - and the way he is insulting people. But there are few good points pointed out in that thread.

The replies are also "interesting" so you might want to check out that thread.

Anyone wants to make a comment on this?

EDIT : Updated possibly misleading title.

Comment on Thread on Joel on software forum : "I hate Perl programmers."
Select or Download Code
Re: Joel on software: "I hate Perl programmers." - thread.
by tlm (Prior) on Jun 16, 2005 at 09:31 UTC

    This is a flame-out or a troll by some random JoS forum poster (not Joel Spolsky); it has no more merit than hundreds of similar eruptions that get posted to the usenet every day. I don't think such posts deserve comment.

    The potential for illegibility in Perl code is an often discussed topic, both in PM and elsewhere. It is not necessary to broach the subject this way. IMHO it was an unwise decision to post this in PM. Even if you are quoting someone else, it is still garbage.

    Also, I think the title of your thread is very misleading, because it gives the impression that the rant's author is Joel Spolsky. I have no idea what Spolsky's opinion of Perl programmers is. For all I know, he may have an even more negative opinion of them than this, but these are not his words.

    the lowliest monk

Re: Joel on software: "I hate Perl programmers." - thread.
by jpeg (Chaplain) on Jun 16, 2005 at 09:46 UTC
    I can't see anything good or productive coming from posting this. What do you want to hear? that some dork's opinion doesn't matter?

    Actually, answer something first. Why are you posting this? What are you going to get out of this? There are far too many flames already and personal style/legibility has been discussed at length.

    Finally, I suggest you retitle the node. It's misleading. Joel Spolsky didn't write that rant.

    --
    jpg
      I've updated the title - didnt realised it's potentialy misleading untill you folks pointed that out. Guess it's the way you look at it(TMTOWTDI).

      - Why are you posting this?
      It got me interested and wanted to hear someones opinion on it.

      - What are you going to get out of this?
      Looks like only --'s :)
      OK, seriosly. I didnt expected anything except to hear what some people think about few of things that were pointed out.

      As I wrote, I dont like the way guy wrote it nor I liked everything that he wrote. But I must say that he and others (others were more "constructive") pointed out few things that I doo agree with.
        OK, seriosly. I didnt expected anything except to hear what some people think about few of things that were pointed out.
        And what things do you think he "pointed out"? That bad programmers can write bad code? Hardly a ground breaking observation. That he hates various members of the perl community? Well, that's slightly more original, but lacking any credible documentation, so we can probably ignore it. After that, what is left that he points out?

        To me the entire thing reads more like a joke. A deliberate troll trying to get responses.

        It got me interested and wanted to hear someones opinion on it.
        Maybe you should have just pointed it out in the Chatterbox instead. I have had to deal with some really bad Perl code in the past written by folks who didn't understand Perl in the least, and while the example is apparently by someone who does understand Perl, the fact is ... Perl is hard. I coded Perl for 2 years before i even considered myself a decent Perl programmer, and then i came to the Monastery. I'm still decent at best, IMHO -- but, as one commenter to that cantankerously crass commentary wrote:

        Only the top 1% of programmers appreciate perl.

        This also clears up the recent confusion about who is a top 1% programmer.

        Now, that's clearly a hyperbole as well, but there is a lot to be gleamed from that statement -- it takes a lot of discpline to code Perl in a manner that is readable and maintainable by others. Perl loads the gun, cocks it, and aims it at your foot. But it is ultimately you who pulls the trigger.

        OK, seriosly. I didnt expected anything except to hear what some people think about few of things that were pointed out
        ? Did you miss the comment by the same author (Lies of Society) that said:

        Here's the problem [with Perlmonks]. All posts (nodes) can be upvoted or downvoted by anyone who's attained user level 2 (takes a few days, maybe a few weeks). They don't have to say why they downvoted--what their justification is--and there's no form of metamoderation like at Slashdot. Your reputation (XP), the thing that lets you move up to other user levels and gain new privileges, is impacted when you're downvoted...
        Surely if you had read that then you would expect to be downvoted by posting such a negative comment here at the Monastery. <sarcasm>After all, we are a bunch of cowards who participate in group think and ostracize any and all who do not adhere to our doctrine!</sarcasm> Well, i'll tell you why i downvoted you. First, you could have asked this in the chatterbox. Second, even if you did chose to post it, you didn't have to post the contents. Now, anyone who knows me personally knows that i swear like a sailor on a regular basis. So many expletives spew from my mouth on a daily basis, but even i think this kind of language is not necessary here at the Monastery. A simple link to the article would have sufficed. And the third reason i downvoted? Well, because you didn't point out which points you thought were good. You didn't point out which responses you thought were good. You just posted the rant without adding any value of your own.

        jeffa

        L-LL-L--L-LL-L--L-LL-L--
        -R--R-RR-R--R-RR-R--R-RR
        B--B--B--B--B--B--B--B--
        H---H---H---H---H---H---
        (the triplet paradiddle with high-hat)
        
Re: Joel on software: "I hate Perl programmers." - thread.
by Anonymous Monk on Jun 16, 2005 at 09:57 UTC
    Discussing his opinion a few months after its initial posting, on a corner of Perlmonks and without him present only acknowledges his view of Perlmonks.

    Let it rest. We all have our opinion of various languages and communities. And we'll stick to them, no matter what.

      Yes I'm obviosly new around here, and yes, I still havent seen/understanded all that PerlMonks have to offer.

      So? What does that mean? That I shouldnt post, ask questions, whatever?

      Once I readed somewhere that no question is stupid question ...

        Think about this way. If the post you quoted had been posted directly to PM, it would have gotten downvoted to hell and back, irrespective of whatever grains of truth it may contain. The downvotes would be in response to the tone and the complete lack of anything that could be regarded as constructive or even original.

        So why should a quotation get any better response? More specifically, why should quoting something circumvent PM's scheme to keep its content useful?

        If I really wanted to know other opinions about the rant in question, I guess I would have posted some brief notice in CB, along the lines "Hey, what do you folks think about this rant?", and provided a link to it. I'm sure that this alone would have gotten me plenty of useful perspectives.

        the lowliest monk

Re: Joel on software: "I hate Perl programmers." - thread.
by demerphq (Chancellor) on Jun 16, 2005 at 11:11 UTC

    Go look at posts by tilly, tye or Ovid. To the best of my recall none of them are particularly "into" obfu. Sure they might appreciate one occasionally but I can't imagine any of them advocating seriously use of obfu in production code. tye in particular is a good example. I work with his code often. He definately isn't in to putting to much on one line (im much worse about that).

    Its a rant. Hes got some points, but theres not much point in discussing them as they are well known and a big part of the reason we are all waiting on perl6.

    ---
    $world=~s/war/peace/g

Re: Thread on Joel on software forum : "I hate Perl programmers."
by Fletch (Chancellor) on Jun 16, 2005 at 13:11 UTC

    Perl can be used by some people to write crappy code, Moscow in flames. Film at 11.

    --
    We're looking for people in ATL

Re: Thread on Joel on software forum : "I hate Perl programmers."
by perrin (Chancellor) on Jun 16, 2005 at 13:49 UTC
    I'd say you posted a bit too much of it. The long string of insults at the end does nothing to support the point raised in the beginning, and probably upset people.

    It's a fair criticism to say that perl culture encourages code that is tricky, sneaky, or magical in some way, and that tendency has consequences on how people view perl and perl programmers. It's quite a touchy issue though, as you can see whenever someone suggests that writing simpler code would make for easier maintenance and then gets attacked by people saying that there's no point in toning down code for people who don't know perl well enough.

    I'm not sure the author here chose a very good example. This one looks like someone who didn't know about fancier things like IPC::Open2, not someone trying to be tricky. He's right about combining statements with "and" though.

      This one looks like someone who didn't know about fancier things like IPC::Open2, not someone trying to be tricky. He's right about combining statements with "and" though.

      he was talking about C::Scan originally written by Ilya Zakharevich (ilyaz) and now being maintained by hv (the current perl pumpking). I doubt they didn't known about IPC::Open2!

      For me it's understandable, they were just focusing on the important thing, parsing the C code, and leaving secondary things like portability for later... or just going for a "it works for me but patches are welcome" mode.

        Er, ex-pumpking - see The perl 5.10 pumpkin passes.

        I'd say his point about C::Scan is perfectly fair, and the sort of thing that isn't said often enough. I'd rather have had a patch, though, and a slightly more temperate approach.

        Hugo

Re: Thread on Joel on software forum : "I hate Perl programmers."
by Mutant (Priest) on Jun 16, 2005 at 14:38 UTC
    The ironic thing about picking apart code in Perl modules is that in most other languages you simply *can't*.

    Ignoring the poster's obvious emotional issues, it sounds like someone who hasn't really worked with Perl as anything more than a scripting language. Perl still has this stigma, but any of us who've worked in a commercial Perl environment know it's at least as much an application language as all the other big names.
      it sounds like someone who hasn't really worked with Perl as anything more than a scripting language

      It doesn't sound that way at all to me. It sounds like someone who has gotten into arguments with his co-workers about their excessive uses of $_ and other idiomatic perl that makes their code hard to read. And as others just pointed out to me, the code he's criticizing is part of the core perl distribution.

        Just to nitpick slightly, how exactly does "idiomatic perl" make code hard to read? Isn't the definition of idomatic along the lines of "something that is easily understood"?
Re: Thread on Joel on software forum : "I hate Perl programmers."
by Anonymous Monk on Jun 16, 2005 at 15:26 UTC

      That post is relating to Dan's work as a developer, not a user. Perhaps he's abandoning Perl and Parrot use altogether, but the impression I get is that he is simply not going to be part of the development anymore (for now).

Re: Thread on Joel on software forum : "I hate Perl programmers."
by sfink (Deacon) on Jun 17, 2005 at 06:22 UTC
    I, for one, thank you for posting this. I always find it great fun to read an honest-to-goodness rant, especially when it concerns something I care about and the author has some evidence of neural activity and isn't just pleasuring himself in public. Well, not entirely.

    I'd probably prefer it if you had posted a small snippet and a link, since this way you are creating a new home for something that already has a perfectly good home. But that's a trivial point.

    The post reminds me of Star Wars ep3 in a way -- watching it, I enjoyed the story that I could easily sense behind the obscuring cloud of miserable acting and obnoxious special effects. It wasn't a brilliant story, or an original or particularly nonobvious one, but I found it to be a rather good yarn nonetheless. The post is the same way, although its qualities are covered up by the results of letting loose a satisfying tirade rather than mere incompetent directing.

    If you want to get something out of it, read it as if you were overhearing a disgruntled user of your software bitching to a colleague. Hopefully you've all had something of that experience before -- the user is so frustrated that she'll go way overboard in her abuse of your product, but buried within the stream of obscenities and exaggerated complaints will be a rich vein of suggestions and ideas for improvements. You'd never be able to intentionally dig as much from your usual user base no matter much you beg for suggestions. You just have to set aside your pride long enough to detect the value.

    I can't say I have anywhere near the visceral reaction to the quoted code that the post's author did, but I do still think he's making some good points. I've written code similar to (and worse than) either of the snippets above. I like to think that I've improved. There's nothing wrong with the open or die idiom, but chaining on an and clause does bother me. That said, I've read code that used it heavily, and after you see it enough, it starts to make a certain kind of sense. (I'd still avoid it for maintenance reasons.)

    The second code snippet is harder to defend. It's a good example of a fine idea taken to a disastrous extreme. The author is making a more general point, though: bad Perl code leads to a bad reputation for everything Perl. That resonates with me. At my current company, I've witnessed the negative reactions of far too many people who couldn't possibly have an informed opinion about the language. Marketing people, CEO's, vice presidents, etc.

    I also think that many of the obvious places to look for examples of cood coding (eg the most heavily used modules) are anything but. Perl feels like it's resting on shakier and shakier foundations, as the old bedrock modules and toolkits get further and further behind the times. The newer modules and frameworks don't really seem to be keeping pace with the larger community, and are more often than not imitations of or eclipsed by those from other environments. (Where's our Ruby on Rails? PyGame? PHP?) It doesn't feel so much like the Perl community is tired or anemic or stupid; it's more that the richness of CPAN is becoming a liability. Consider a hypothetical lurking genius who previously would have created some great new package. Today, he finds so many existing modules that cover part of the territory he wanted to stake out that he gets demoralized and doesn't bother. Or perhaps his initial user base is too small because his users can't distinguish between the alternatives. Or he's conscientious and researches all the alternatives before beginning and chooses to contribute to the most similar candidate, but belatedly discovers that the original author's vision is very different from his, and that the initial similarity was more by coincidence than design. Or maybe they're well aligned, but he just can't muster up enough enthusiasm for being just one of the contributors of someone else's baby.

    Whoa there. Sorry, that was quite a tangent. I guess I'd better stop now so you can get on with the downvoting.

      I seem to have problem with communicating this way (written english) and somehow I dont realy say what I ment so people get bad judgment about that - somehow they dig up the worst out of it. This isnt the first time, not just here, devshed forums also ...

      Anyway I admire the way you said it. And especialy agree with :
      The author is making a more general point, though: bad Perl code leads to a bad reputation for everything Perl. That resonates with me. At my current company, I've witnessed the negative reactions of far too many people who couldn't possibly have an informed opinion about the language. Marketing people, CEO's, vice presidents, etc.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlmeditation [id://467208]
Approved by gregor42
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (5)
As of 2014-12-27 10:40 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (177 votes), past polls