|Think about Loose Coupling|
Re: Perl is dyingby Marza (Vicar)
|on Jul 14, 2006 at 18:32 UTC||Need Help??|
Perl Programmers are snobby?!?!?!?! Say it isn't so!
The problem with that claim is that you should drop Perl and simply say that programmers can be snobby.
I have found snobby C, C++, Assembler, Python, Perl, Fortran, Pascal, and even Cobol programmers.
Even you my friend are a snob:Most of the people writing Perl code today aren't real programmers. They're systems administrators or hobbyists. They never learned "proper" software development techniques so their code is almost always a mess. Ugly, inconsistent and largely unreadable to those that lack a firm understanding of the language (at least 2-3 years experience), it's this ugly code that turns new people off to Perl and gives it its reputation (though undeserved) for being a write-only language. Well-written Perl code is a thing of beauty (and still shorter than the equivalent in any other language), but I would guess that less than 5% of the Perl code out there fits into this category.
What's amazing is that the Perl community not only accepts and encourages bad code, it's outright hostile to those who don't. I've seen people raked over the coals (even on Perl Monks) for suggesting cleaner alternatives to the Schwartzian Transform or suggesting using named variables instead of $_. More amazing, the hostility is usually from some smug sys-admin that's never worked on a large software project their entire life. I'm not saying you can't use those features, but the level of hackishness and amateurism I see regularly in Perl scripts is appalling. It seems like terseness wins out over clarity every single time.
If you have even worked in the world of system administration, you would find that management doesn't care about the beauty of code. They want something fast. Most of the time the scripts are only to answer a small problem, a status check, a report, or a simple monitor. Writing beautiful perfect code would not offer much to the task at hand.
However, if you were writing a database system, a production management system, etc, then you are correct. Care must be taking in the design. Never mind the fact that a full blown Perl developer is writing those kind of systems.
I could be wrong, I have never taken part in a large software development project. I am only a system administrator. ;)