Slash Boxes
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
More | Login | Reply
Loading... please wait.
  • (Disclaimer: I'm a Perl apostate.) You seem to be saying that competent Perl programmers are scarce and growing scarcer. It's also non-disputable that huge amounts of Perl code are being written every year. It would seem to follow that the average quality of Perl written over time has been falling, and anecdotally that's exactly what I'm seeing. For at least the last five years, the Perl that crosses my desk has been uniformly godawful--much poorer in quality than the first program I wrote as a kid. Ra
    • confirmation bias much ?

      I think those who *do* care about quality have got on with it, that's why we have some seriously good tools for to help code quality, in every area from profiling, to perl critic to unit tests, to smarter refactoring editors : whether using perlisense or other tools inside vi or emacs, or using Padre, Kephra, Komodo or Eclipse.

      I care about quality, and Perl has delivered, everything from 2 generations of ORM that beat anything available from other dynamic languages, to CPAN modules w


      @JAPH = qw(Hacker Perl Another Just);
      print reverse @JAPH;
      • Re confirmation bias: No, what I see is clear cut. Better to argue instead that my case is not representative. I work in bioinformatics, and the Perl is pretty uniformly awful--mostly written by biologists I suppose. (When I say "awful", I don't mean "unimaginative" or "not what I would have done", I mean "poke your eyes out and run screaming".) Now, it may not be Perl's fault that a large number of people writing it are not competent, but that doesn't change the fact that randomly sampling Perl code, particularly in some application domains, draws very poor code on average. If I loved Perl, I'd be trying to figure out some way to change that situation, because it seems to be something that would repel people from the language.
        • I work in bioinformatics, and the Perl is pretty uniformly awful--mostly written by biologists I suppose.

          I suspect that most of what you see is due to the fact that Perl allows non-programmer biologists to get things done without having to be good programmers. No one's devised a system by which you can turn a non-programmer into someone with good code maintenance habits automagically. I'm not sure it's possible.

          • To a degree, perhaps. I think it's more that it gives non-programmers the *illusion* that they are getting things done.

            For example, they can write code like "while { print; }" and feel that their code works. Unfortunately, it fails silently on I/O errors, so to my way of thinking it's far worse than useless.

            Given that there are alternatives that don't suffer from this problem, this seems like a showstopper to me.

            • my way of thinking it's far worse than useless.

              Have you ever noticed empty catch blocks in Java code that trap Exception e? That's because non-programmers who just want to get something done care more about whipuptitude than handling all exceptional cases perfectly.

              I consider myself a decent programmer, and I don't check the results of my close calls all the time, either. Does that mean that my code only works in my illusion-prone mind?

              • Hmm. If I usually don't buckle my kids into their seatbelts, would you say that I'm an inattentive parent (a) most of the time, or (b) only if/when I actually am involved in a wreck and they go the the hospital? I'd say (a).

                I don't always check my results, either, but it's usually on my mind because I know it's important, and I generally try to make my stuff reliable before it leaves my hands.

                • If I usually don't buckle my kids into their seatbelts....

                  If you have novice programmers writing programs where improper coding can produce death, dismemberment, and other disaster, you have incompetent management. (If that's not what you mean, then your analogy is inappropriate.)

        • I've friends who work in bioinformatics, they write Perl, most of it is pretty good, some of them come to Perl Workshops, and the some of the people they work with even give talks at Perl Workshops.

          Not all of the people they work with are good, but there is the community and the support there. If the technical people in your organisation are more interested in petty squabling about languages than helping their own people do their job better by hooking them up with the local perl or bio-perl comminity, that


          @JAPH = qw(Hacker Perl Another Just);
          print reverse @JAPH;
        • As has been noted, bioinformatics has a lot of non-programmers programming in Perl. IIRC, average salaries in bioinformatics is less than what you see in other areas of Perl. The two phenomena are likely related, and both will lead to lower average code quality.

          Incidentally the quality of the Perl code that I've personally been seeing over the years has been going up, not down. That's because as my career has advanced I've been working with more experienced groups of competent people. While this is a go