Bugzilla 3.0 came out, and with it a debate over whether it is possible to write maintainable Perl code.

That debate has now spilled over into Bugzilla’s wiki (see Bugzilla:Languages). When I viewed the page, the final requirement for a programming language amused me greatly:

7. Enforcement of Good Code: One place where Perl falls down is that it doesn’t enforce any good coding standards. A language that does would be welcome.

One of the points in last year’s The World’s Most Maintainable Programming Language is that it’s impossible for a programming language to enforce all but the most basic coding standards. I much prefer to read poorly-indented code with good identifier names than beautifully-indented code with meaningless identifiers, for example.

I have yet to see a programming language that enforces meaningful names. If programming languages can’t even do that, maybe programmer discipline matters more for maintainability than language choice.

(I do require a minimum set of features in a programming language. If it weren’t for C’s ubiquity, the lack of namespaces would sink it as a practical language for me.)

I also have yet to see a programming language that magically allows barely-competent monkeys to produce good code. Yet somehow people still believe that choosing the right language will sedate their surly simians. (No, the Bugzilla coders aren’t monkeys. Max K-A has my respect. I just wanted to dispense my monkey-related wisdom yet again.)