On Perl Not Being The Problem

|

[Moozik: Nine Inch Nails - Only]

A few days ago a bugzilla developer made (and how shall I put this diplomatically) a rather ill-informed blog post in which he blames Perl for why the bugzilla codebase is an unmaintainable mess. He contemplates re-writing bugzilla in another language as a result.

Luckily there were a number of Perl folks on hand to point out that the problems with bugzilla are not because it is written in Perl. The problem with bugzilla is that the codebase isn't very good. As chromatic says tongue in cheek:

I've heard this song before. The verses are Don't make me install modules!, We're not very good Perl programmers!, and We didn't design the code very well, thus the language sucks!.
I don't blame Max for feeling frustrated with the bugzilla code. Over the years it certainly has become a mess of spaghetti code. The last time I looked at the code a year or so back I was surprised at the quality. But that is certainly not Perl's fault. You can write unmaintainable code in any language if you don't design it very well. Perrin notes:
It's going to be pretty amusing 5 years from now when all the people who were somehow tricked into thinking Ruby would be harder to write bad code in than Perl wake up and smell the pile of nasty Ruby code they've amassed. I wonder what language they'll jump to next.
As I mentioned to Max, his time might be better spent familiarizing himself with some of Perl's best practices and running the code through Perl::Critic instead of writing prototypes in other languages. Sure, bugzilla is a huge codebase and refactoring will take a decent amount of time and effort and I'm hoping they will see that it is possible to write clean maintainable code in Perl and that they will stick with it. Will be an interesting space to watch.

About this Entry

This page contains a single entry by kev published on May 6, 2007 10:59 AM.

Those Helpful Electronic Freeway Signs was the previous entry in this blog.

My Next Computer is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.