Tuesday, June 5, 2012

Improving the Image of Perl (Perl Marketing)

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.

RoR gave ruby a little lease of life, and its equivalent of CPAN somehow has more modules (though i suspect sheer numbers isnt a useful measure, almost certainly there is a point of negative gain).

Puppet is in ruby, which is giving it more life.

Cloud Foundry was written in ruby (via rails) - though its now been dumped by Vmware on to the apache foundation.

Github seems to be a mix of ruby and python.

Personally, i think that there just needs to be some companies come out and say 'we are perl and proud'. The perl foundation would also do well to pressure RedHat to keep perl up to date in their releases.