Micro Focus is now part of OpenText. Learn more >

You are here

You are here

Perl is not dead: It was early web novices that gave it a bad name

Curtis Poe Consultant, Trainer & Speaker, All Around the World

Peter Wayner recently published an article here on TechBeacon called "5 programming languages that are fading fast." Unsurprisingly, a language I specialize in, Perl 5 (just "Perl" for this article), was on that list. Oh, how the mighty have fallen. Let me start with a quick backstory and then I'll tell you why rumors of Perl's death have been greatly exaggerated.

Perl: The darling of the late '90s and early '00s

In the late '90s, Perl was the language for the Web. During the dot-com boom, companies quickly realized that manually curating thousands of static HTML documents was too expensive and searched for other options. Perl, being a mature language with bundled CGI libraries and many "ready to run" examples on the Web, quickly became the hot language that everyone had to know. Unfortunately, this meant that many people with no programming experience found themselves building large systems, many of which are still with us today. To call these legacy systems steaming piles of ones and zeros would be too kind.

Fast forward a couple of decades and Perl is no longer as popular as it was. In highly profitable markets with no barriers to entry, competition rose from other languages and frameworks, so Perl's market share fell. This sign of a healthy market was taken by some as a sign of an unhealthy Perl. Bloggers who shuddered at the thought of working with legacy Perl written by inexperienced programmers gleefully wrote articles announcing the imminent death of Perl. They've been writing those articles for years, but something strange happened: instead of dying, Perl's market share stabilized.

Perl is very much alive, and possibly on the rebound

My company, All Around The World, specializes in building and maintaining Perl systems. When we started it, we were expecting to be reworking legacy systems into modern ones, something I have a lot of experience with. To our surprise, we found ourselves working with multiple clients building new systems in Perl.

We were writing ETL systems to reduce the cost of phase III clinical trials for pharmaceutical companies. A major ISP we also work with currently has been using Perl to gather network data across a large European country. Another client has us on a large internationalization project.

I have been hearing the anti-Perl hype for so long that, frankly, I was surprised to find Perl more popular in the real world than the online one. Startups are still happily choosing PerlBooking.com, one of the largest e-commerce companies in the world, is written almost exclusively in Perl. Gartner, the technology research firm, wrote in its IT Market Clock for Programming Languages that "current and prospective Perl developers should feel confident that the language will remain a solid technology investment for the foreseeable future." Job boards show that Perl jobs have finally stabilized in the last few years and might even be increasing slightly. Even the February 2016 Tiobe Index has Perl solidly in eighth place out of the 200-plus languages it ranks, which is four places up from Perl's position last year!

Not "hip," but battle-tested

How can this language, whose death has been anticipated for years, be doing so well? Because it's battle-tested.

Perl has a strong testing culture, an embarrassment of riches in powerful frameworks, and regular worldwide conferences and workshops, and it still runs large parts of the Web. Perl is not being forked. It isn't a "JavaScript flavor of the week." It has a mature installation tool chain and a strong, healthy developer community.

Need a website? Catalyst, Dancer, and Mojolicious are just a few of the powerful web frameworks available to you. Like ORMs? DBIx::Class and Rose::DB are popular options. And speaking of objects, Moose gives Perl one of the most advanced object systems developers are likely to work with, complete with a metaobject protocol.

Modern Perl is a clean, powerful language and looks nothing like those poorly written piles of legacy code with which most developers associate it. On top of that, new versions of Perl are released every year. Perl 5, Version 22, was released in June 2015, and Version 24 is likely to be released in June 2016. (As an aside, the recently released Perl 6, while related to Perl 5, is not considered its successor.)

Programming in Perl may not be as "hip" as programming in that cool new language released last year, but Perl is battle-tested. And when your livelihood is on the line, that's pretty important. Companies still choose Perl because they know they can rely on it, which is why, against the expectations of some, Perl is doing just fine.

Image credit: Flickr

Keep learning

Read more articles about: App Dev & TestingApp Dev