One of the comments to a posting I made about Scientific Computing in Perl raised the important question “If you'd like to have more people use Perl for scientific computation, it might be a good idea to think about and discuss what might have caused the shift of some people towards Python?” I think this is a great question and I think it applies to more than just the scientific computing aspects of Perl, but Perl in general. I think Perl has an image problem and because of this it is no longer trendy to use Perl. If you talk to anyone that is not a Perl programmer about Perl, you tend to hear the same unfounded complaints over and over – e.g. Perl has a hard to understand and maintain syntax, OOP in Perl seems like an afterthought, etc. Many such comments are unfounded or have long been addressed, but awareness of this does not seem to reach those that are not already working with Perl. In many cases, I wouldn’t even be surprised if those making the complaints didn’t even have any true firsthand experience with Perl.
While it is certainly possible to write some highly obfuscated Perl code, this is not the way it has to be. A Perl programmer or corporation that employs them could easily make use of modules like Perl::Tidy and Perl::Critic to help maintain readability as well as having coding standards in place. In fact many in the Perl community would actually strongly support such practices. In terms of OOP support Perl now has Moose, which provides a more modern object system for Perl applications. Perl has also produced a number of modern Web development frameworks, such as Dancer and Mojolicious. Perl is even being used for “Big Data” analytics problems (http://blogs.perl.org/users/jt_smith/2012/05/perl-for-big-data.html). Perl has been anything but a stagnant language and clearly still has a strong and innovative community supporting it. One just has to look at a Perl news aggregation like the Perl Weekly, to see all of the interesting things members of the Perl community are working on and discussing.
This therefore raises the question of how we can go about improving the marketing of Perl, to make the advancements and growing utility of Perl more widely known to those outside of the Perl community. Here are some possibilities to consider:
1) Writing articles, blog posts, comments, etc that highlight the utility of Perl and the recent advancements of Perl. In particular I think articles in programming, Linux, and open source publications would be the most effective, since these are read by more than those with a vested interest in Perl.
2) When coming across an article or blog post that contains a discussion about something really interesting in Perl take the time to link to it, “Like” it, “+1” it, post to reddit, Hacker News, etc. This could help to further generate a buzz about some of the interesting things the Perl community is working on.
3) Anybody remember Perlcast (http://perlcast.com/)? It might be interesting to revive something like this as another way of spreading Perl news, particularly if it could be incorporated into one or more sites that promote a large number of technology podcasts like IT Conversations as this would get the podcasts in front of even more people. It was a long time ago now, but if anyone is interested here is a link to my Perlcast interview - http://www.perlcast.com/audio/Perlcast_Interview_012_Frenz.mp3
4) Many cities have Perl Mongers groups that give Perl related talks and tutorials. Encourage those in your group to video such talks and post them online.
5) Highlight major projects, programs, and Websites that are built with Perl. Slashdot, DuckDuckGo, Blekko, etc.
6) Perl outreach – volunteer to give a free lecture or class(es) on Perl at a local college, high school, library, etc. The long-term future of Perl probably relies more on its popularity with and use by the next generation of programmers more so than it does with established players.
7) I’m sure there are plenty more, but these would provide a good starting point.