paul_venezia
Senior Contributing Editor

Perl isn’t going anywhere — for better or worse

analysis
Jan 28, 20135 mins

Tons of tools and projects still make use of Perl, but PHP, Python, and Ruby have stolen its programming thunder

More than two years ago, I wrote about the apparent waning of a pillar of the Internet: the Perl programming language. Whereas I had been writing, debugging, and working with Perl code seemingly forever, I simply wasn’t running into as much Perl as I used to, and a significant number of projects, tools, and frameworks were moving on to other languages. In the time since, little has changed, at least from my perspective. I’ve spent much more time working with and using other languages to get where I need to be, while continuing to see new projects eschewing Perl for Python, Ruby, PHP, or any of a pile of alternatives.

Back then, I posited that Perl 6 might change things, put a new shine on an old warrior, and spark a Perl renaissance. It had been a decade since Perl 6 was announced, and I figured a full official release must be around the corner. But here we are in 2013, and that day seems even further away. Sure, there are variations considered to be Perl 6, such as Rakudo Perl, which is a specific implementation of Perl 6, but isn’t, technically, Perl 6.

It’s been 13 years since the Perl 6 effort began, and the vast majority of the Perl world is still using Perl 5. For comparison, Perl itself was 13 years old in 2000, when the current version was Perl 5.6. A default installation of Red Hat Enterprise Linux today incorporates Perl 5.10, which was released in 2007. Clearly Perl is very stable and a necessary component of any modern Unix-like operating system, but it’s hard not to think that it has lost its way.

I suppose there’s nothing inherently wrong with a long development cycle, which oftten leads to a more stable and robust outcome. But as time wears on, it truly seems that Perl is in decline, possibly due to the perceived stagnation of the language. Even the Perl 5 Wikipedia entry notes this, referencing Tiobe Software’s index that shows searches for Perl dropping steadily since 2005.

To be sure, many Perl 6 features have been backported into Perl 5, and there’s no doubt the effort has improved Perl in general. But in a world that expects steady progress and timely releases, the waiting game for Perl 6 may ultimately be very costly for Perl and the Perl community.

In looking a bit closer at Tiobe’s data, there are some surprises. While Perl maintains a position in the top 10, it’s at or near the bottom of that list, with the usual suspects residing comfortably above it. C and Java have long held, and likely will continue to hold, the top two positions, but Objective-C’s meteoric rise on the iOS and Mac OS X platforms is impressive. We see that Python has a sizable lead on Perl, and oddly, the popularity of Bash has risen sixfold over the past year, breaking into the top 20 for the first time ever.

Of course, not all of these languages compete with one another. Bash and Objective-C have very little in common, for instance — not unlike the fact that a hammer and a saw are both tools but used for vastly different purposes. However, Bash is definitely an alternative to Perl for many smaller and low-level projects. File and process manipulation, small task scheduling and automation, installation scripts, and such can be developed in either language, but it seems that people are opting for the simplicity and portability of Bash rather than Perl in these cases.

Python, Ruby, and PHP are also used as Perl alternatives in many ways. While PHP is generally focused on Web application development, it can be used for many tasks that fall into Perl’s purview. Python and Ruby are more general languages, but seem to be increasingly used instead of Perl. Certainly, each of those languages was highly influenced by Perl.

Perl isn’t going anywhere. A massive number of tools and projects still make the most out of the language. But it’s hard to see Perl regaining its former glory without a dramatic turnaround in the near term. As more time goes by, Perl will likely continue to decline in popularity and cement its growing status as a somewhat arcane and archaic language, especially as compared to newer, more lithe options.

Perhaps that’s OK. Perl has been an instrumental part of the innovation and technological advancements of the last two decades, and it’s served as a catalyst for a significant number of other languages that have contributed heavily to the programming world in general. That’s quite a legacy in anyone’s terms.

I don’t think it’s wise to write Perl’s epitaph just yet, but all signs point to the conclusion that its best days are in the past.

This story, “Perl isn’t going anywhere — for better or worse,” was originally published at InfoWorld.com.