What's Up, Perl?
Why has Perl's visibility dropped in the modern development world? What does its future look like?
Join the DZone community and get the full member experience.Join For Free
Recently, Tom Radcliffe (ActiveState Director of Engineering) and Jason McIntosh, co-author of the O’Reily book “Perl & XML,” did a webinar about all things Perl. They wanted to talk about the origins of Perl, why it had become so invisible in recent years and where it was heading.
I thought I’d take this opportunity to highlight the salient points from the webinar and cover some of the great insights that were made. If you want to check out the presentation in its entirety, you can view it at this link.
The Perl Community is vibrant, healthy, and active. Both Tom and Jason commented on the fact that the Perl community, despite its ups and down, is what has kept the language going strong. The dedication and innovation from the community has kept them coming back and kept the language stable and fully functional.
“I've never had a reason to put it down and the main reason for that is its community is just so fantastic. Both in the sense of being a community who is going to help people and also in maintaining this fantastic ecosystem of the language itself and the whole universe of all the language extensions and modules and applications that you can find on CPAN.” - Jason
Tom echoed these comments: “I've looked for things in CPAN that I had no reasonable expectation would be there. Fairly hardcore numerical stuff, ODE solvers, things like that, and gosh, there they were. It's continued to amaze me, even as somebody who hasn't used Perl heavily in the last, really, decade. When I come back to it, I look around and I find that CPAN is now 5-10 times bigger than it was in the early 2000s and everything under the sun is just there, which is fairly remarkable.” - Tom
The community has rallied around the language and kept the language alive and thriving, even with a couple of long gaps between releases in the early 2000’s. Today Perl has regular yearly releases as it has for half a decade. Whether it’s innovations like MetaCPAN or Node Package Manager, the community has evolved with the times and kept the language fresh and relevant. A key reason for this, as noted in the webinar, is that it remained open to ideas and thoughts from outside the community. It observed, borrowed ideas, adapted them to Perl, and kept the language growing.
Perl users are not who you think they are. ActiveState recently conducted a survey of Perl users and one of the questions was to find out exactly who uses Perl. The answers were not what we expected. It turns out that nearly half (48%) of respondents had been using Perl for four or less years. Certainly not the image of the sober and mature Perl developer that has been ubiquitous in the developer community. What gives?
“Whereas I had the impression that most Perl users were people like you and me people who'd started using it way back when and just kept on because it was a tool we were familiar with and it could always answer the questions and solve the problems that we had. Whereas what we're seeing today is, I think, a significant upswing in new adopters of the language, because it's very functional, very effective, very powerful, but also because the community is so open. It's not like some language communities where you're either inside the wall or you're outside. Perl is much more inclusive. I think that's one of the things that's drawing new people to the language.” - Tom
Jason’s observations concurred with our results. In his experience, most of the best programmers in the language, that he knows, are at least a decade younger than him. Whether it’s ease of use, the powerful tools in CPAN, or inheriting a legacy system - Perl will be around a long time with an ecosystem of younger, newer Perl developers around to support it.
Perl 6! Perl 6 is the most recent release of Perl and has had the community buzzing. Yet people have been hesitant to migrate to it fully. Instead Perl 6 seems to be further driving Perl 5 development as a sort of “skunkworks” project.
“I hadn't really appreciated this process of backporting features from Perl 6 into Perl 5 as one of the things driving Perl 5 development" - Tom
Jason, talking about Moose (a language extension that brings modernized OOP programming techniques to Perl) had the following to add: “My understanding is that Moose takes a lot of its structure and its inspiration from work that was done by the Perl 6 development team over the entirety of the previous decade. They basically, in the whole spirit of being postmodern again, said, “That's great, let's backport it," and it works. That's been my view of Perl 6...just seeing it as a crazy laboratory. Then they had it released and now it's a language.” - Jason
Both Tom and Jason haven’t switched over yet and think that adoption of Perl 6 hinges on the value proposition it brings and how it distinguishes itself from other options.
“My threshold is fundamentally around what is the killer application for Perl 6? What is it that it does so well that will drive adoption of the language and interest in the language and the enterprise, which is where our customers are.” - Tom
Both agree that until this happens or a project comes along for which learning Perl 6 is domain-specific, they’ll likely stick with Perl 5 for now.
What are people doing with Perl these days? Our Perl survey also asked what people are actually doing with Perl these days. While we were expecting web to be the dominant use of Perl, the results were quite surprising. Instead general scripting (37%) and data transformation (26%) were on top, with web use coming in at 7%. Both Jason and Tom think this that this is due to the fact that Perl just makes it so easy.
“One of the findings from our survey is that people are using Perl for, as I think you were alluding to earlier, much, much broader uses than just web stuff. We see a lot of companies, they just need to move a little data from a database into files or files into a database. They need to do a little bit of processing on weekly sales numbers, whatever. All of those small infrastructure tasks, which add up to a lot of stuff in even a medium-sized enterprise, can be handled very effectively by Perl.” - Tom
Jason posited that there likely is increasing demand in bioinformatics due to Perl’s ease of use with large quantities of data. They agreed that Perl’s wide range of uses explains its stickiness with enterprises and individual developers. It’s fast and easy to use, can handle big data, and comfortably manage processing and data analysis.
This is of course just a small sampling of the fascinating discussion between Tom and Jason. They go into far more depth on all these topics, and many areas that I haven't even touched upon. If you’re interested in Perl, programming, or just want to hear more of this thought-provoking conversation, then It’s totally worth your time to view it in its entirety here.
Published at DZone with permission of Navrup Johal, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.