Why Perl Programmers Should Worry

It’s pretty obvious that lately we’ve been hearing much less about Perl than we hear about “other” languages, PHP5 has been released, Java5 is almost there, Python is advancing quickly, and Perl6, well, it’s still under development.

Perl is my favorite language, I know it looks like line noise, I know it’s possible to write cryptic code that nobody can decipher, I know that $_ isn’t very liked, but I still love it. I don’t know many languages where you can create your own syntax in runtime, or add exception support when the language doesn’t have them, or filter the source code on the fly without self-modification or nasty tricks. I get emotional when it comes to Perl.

No it’s not the only language I use, though it’s my favorite. I like Python’s clean syntax, and I’d choose it for GUI development, I like Ruby too, for reasons pointed out elsewhere, I like PHP for web applications since it doesn’t require me installing thousands of dependencies. But it’s not just the syntax that matters, or the built-in functions, it’s the whole package, the environment, the support, available books, reading materials, popularity, and the community. When I choose to code for mod_perl there’s usually a reason for it, not just because it’s Perl, but because I can hook directly to Apache, something I can’t do in PHP for instance, and if anything goes wrong, I can always find support on IRC and mailing lists. The syntax, although can affect your decision, isn’t the final word, you don’t choose a language only because it looks better, or do you?!

So why Perl programmers should worry? Mostly because other languages, particularly PHP, are taking away their market share. I can’t say that PHP is for quick n’ dirty stuff anymore, PHP is very mature now, it’s OO support is great, the community is perfectly aware of PHP’s limitations and they’re making sure they don’t push them too much. They know that PHP will probably never compete with Java, Java works very differently, so they chose to extend what PHP was doing best, Web applications, and PHP is now pretty much ready for the enterprise. What makes things worse for Perl programmers is that PHP is so easy to learn that any “newbie” can step up and build a full- fledged portal.

Perl on the other hand is being largely overhauled, Perl6’s syntax is different, the runtime engine is different, everything’s is different, Perl guys are working on a new language. They’re not focusing on market share or on getting new people to join the Perl, it’s not a priority; it should be. I don’t want to see Perl being dumped in favor of other languages when it’s superior, I don’t want to hear “Perl is difficult to install/maintain/write” this statement shouldn’t be true, not even to newcomers. Perl people, and that includes me, should be at least a little bit concerned with their marketing, they need to know how to get programmers to do things with Perl, and they need to admit that Perl doesn’t have to be the duct tape of the internet, there’s more than one way to do it, remember?!