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.


In reply to Re: Thread on Joel on software forum : "I hate Perl programmers." by sfink
in thread Thread on Joel on software forum : "I hate Perl programmers." by techcode

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



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.