http://www.perlmonks.org?node_id=287093


in reply to Re: Re: Sub-initiate needs help getting started
in thread Sub-initiate needs help getting started

Nonsense.

First of all, the reason that managers are often turned off Perl is nothing to do with "dogmatic programmers". It is much more to do with incompetent programmers who don't use strict or -w, and who, partly for these reasons, do write unreadable code.

It is possible that this consultant was a genius who doesn't need a seatbelt (see Paradigm Shift - Don't use strict for a famous example). But the 99% likelihood is that he was an idiot who didn't know how to use a seatbelt - especially if his code has a lot of globals, which is normally a sign of bad design.

Finally, hard-to-understand code is almost always bad code. (There are exceptions, like tightly optimized loops, or JAPHs.) And for a consultant, this is doubly true: if you've left a lot of code that other people find difficult to use, then you're doing a crummy job - no matter how brilliant your code may be, your first priority was to help the people you worked for. Beginning programmers often think that if they don't understand something, it must be very clever, deep code. Usually the best code is very easy to read, almost like pseudocode.

I think this is a tough job, but kudos to Lori713 for taking it on.
A massive flamewar beneath your chosen depth has not been shown here

  • Comment on Re: Re: Re: Sub-initiate needs help getting started

Replies are listed 'Best First'.
Re: Re: Re: Re: Sub-initiate needs help getting started
by agentv (Friar) on Aug 28, 2003 at 05:34 UTC

    ...I agree mostly with your points.

    I would have to quibble with the premise that "the 99% likelihood is that he was an idiot." I'd say that there is a very high probability that this was a consultant who learned Perl on his own and didn't benefit from the sort of peer community that can be found here. I'd say that there's a high liklihood that the code is actually difficult to understand. (Although we've seen no direct evidence of this.) But I'd stop well short of presuming that someone else is an idiot without something a little more concrete.

    I am 100% with you (on the other hand) behind the principles that a successful program communicates to other programmers as well as to the machine that it controls. And I agree wholeheartedly that readable code is usually more error-free and robust, not to mention extensible and maintainable.

    But I am certain that I've seen the "second consultant" effect in many shops where the new guy proclaims the previous guy's work to be crap and insists that it all has to be thrown out. And I've seen it happen for slim reasons, dogmatic reasons, or simple ego reasons.

    And I have earned my chops on this. I've encountered, and successfully worked with, code that was probably criminally negligent. And you may hate it, but if you're a good engineer, you try to make it work anyway. That was the point I was trying to make. Sometimes you just have to take what you've got and go with that.

    ...All the world looks like -well- all the world, when your hammer is Perl.
    ---v

      I've encountered, and successfully worked with, code that was probably criminally negligent.

      Funny you should say that. I'm doing it right now... sigh. Yes, that's part of life. But there's no reason to pretend that rubbish isn't rubbish.

      A massive flamewar beneath your chosen depth has not been shown here