Home > Main > Perl’s visibility and branding

Perl’s visibility and branding

In the recent days, several bloggers (including chromatic) have talked about Perl’s visibility in the world. Here are some thoughts of mine on Perl’s marketing and connected topics.

Self-referential promotion

I feel that most Perl marketing strategies currently in use are misguided — they appeal to people already using Perl. First and most important, the Ironman blogging competition. Its original aim has been “to promote the Perl language, and encourage more people within the Perl community to promote the language to the world outside the Perl echo-chamber”. I honestly still don’t understand why blogging about Perl in a self-contained blogging system has any influence on the people outside. Yes, we might actually get higher Google rankings, but does it help Perl itself in any way? Only people who are actively searching for Perl might find something interesting, but they won’t until the thought of actually using Perl arises. Instead, we should be writing articles and sending them to the (online) magazines about general IT or general programming, not dedicated Perl magazines. Where’s that “Ironman Article of the Month” prize I keep hearing about? We could use those articles for promoting Perl outside of its own eco-system.

The other proposal is placing “Made with Perl” banners all over your website. Seriously, do I even need to mention why this is bad? Normal people don’t give a damn about what technology your site is made with. Do you see any “.NET FTW!” banners on stackoverflow.com? Any “Proudly made with TextMate and Rails” buttons on GitHub? They are not there, because they don’t matter to the visitors.

If we want more people to choose Perl for their projects, we need to showcase Perl. Projects using Perl, be it DuckDuckGo or BBC or anything else1 should be referenced from one single place and this place should be the frontpage of perl.org. Ruby on Rails’ front page prominently presents sites using Rails, Django has the same thing on the front page, PostgreSQL has a “Featured User” front page column. Catalyst on the other hand, just publishes some testimonials by people without referenced project or company, perl.org has a huge “20,000 CPAN modules” heading, which makes me feel like “20k of what?”. Underneath a line “That’s why we love Perl”. Yeah, right, we do, does the visitor? Such introductory websites should become more embracing and welcoming to the newbies and not look like some kind of bizarre cult to them. This part of self-promotion is extremely important, first impression counts.

Talking to others

When you talk to people about stuff you make in Perl, you mostly get some condolencing faces and a question “Couldn’t you take Python or Ruby”? Many other languages (just like Python or Ruby), have become popular with a tagline “Obsoleting Perl”, because they all thought a replacement was desperately needed. It doesn’t even matter that current Perl is more flexible or better or faster or cleaner than Python or Ruby or for that matter Perl itself from 2000. Perl has a reputation, it has become a brand name, a brand name that has negative connotations.

Have you ever watched Steve Yegge’s excellent branding keynote? If not, you should do so immediately. Even though he mentions Perl several times, another quote should stay in your mind:

    Who remembers GTE? [...] GTE was for some time the most
    reviled brand. Why? [...] their infrastructure sucked and
    their service sucked and everybody hated them. The word for
    GTE in consumer's mind was "suck". [...] They've spent a
    billion dollars upgrading their infrastructure and service
    until they were actually the best in the United States. And
    ... the people still thought they sucked, of course. [...] The
    problem is: [a brand] is a const identifier. [...] GTE was
    like "we are screwed, our brand is in the toilet". So they
    went to this marketing agency and they asked [...] "If your
    service is bad today and perfect tomorrow, how long does it
    take to change people's mind about your brand?" [...] And the
    answer came back after much study that it takes *one
    generation*. And the GTE was like "Screw that!" and changed
    their name to Verizon.

This is exactly the situation Perl is currenty in. Most people associate Perl with “scripting” or “system administration” if they mean good or “ugly” or “write-only” otherwise. And since Perl has been on the market for a long time, it’ll probably take a bit more than a generation of new programmers to get away from that image. The bad news are: very few new programmers will ever get a chance to see Perl’s bright side — Java and PHP are just excellent at recruiting newbies.

So we got to educate people about Perl as soon as it gets and show them the good sides and compare it to Java and PHP and Python and Lua etc. But in my opinion, there is one big problem with that: Perl 6.

Perl 6

Perl 6 actually warrants a separate rant about its whole structure and design, but one thing is certain: it will have the same branding problems as Perl 5. They should have called it “Rakudo” or “Parrot” or anything else, just not “Perl” and it might have been (or maybe it still will be) a successful language.

When you tell people there is a Perl 6 coming, which will be somewhat incompatible to current Perl 5 and won’t have any of the libraries or frameworks, you lose them immediately, since it’s not feasible to build something new on an obsolete technology. Perl community can’t afford not getting more people involved and it can’t afford waiting for Perl 6. It should rather use all the power it can to continue improving Modern Perl. A question still remains whether Perl 6 will be needed at all if Modern Perl implements all of its tasty features.

In a way, Perl 6 drama reminds me of another language which is “worth learning [tm]” — JavaScript2. Currently implemented version of the standard is ECMAScript 3. The most recent standard version is ECMAScript 5, released in December 2009. An ECMAScript 4 has never been released, there has only been a draft of a completely incompatible overhaul of the standard, which promised to clean up the whole mess of browser scripting. Needless to say: it failed miserably, in part because of a necessary complete reimplementation and was replaced with backwards-compatible ECMAScript 5, which corrected the most obvious stupidities of the original standard and made people happy enough. To me, ECMAScript 4 has a lot of similarities to the aims of Perl 6, while ECMAScript 5 is more like Modern Perl.

Marketing Modern Perl

In my opinion, Modern Perl is the only one that should be marketed. Remember that GTE/Verizon example? While I think a new name for Perl 6 is needed, it’s possible to create a new brand for modern Perl 5 without completely sacrificing the name. How about Modern Perl for an official name for Perl 5?

5.12 could be the last official Classic Perl version and 5.14 would be Modern Perl 1.0. New filename extensions .mpl and .mpm could be introduced, which would enable warnings and strictness and Perl::Critic warnings and other new features by default, while .pl and .pm would still trigger Classic Perl mode. Disturbing features could be deprecated in the Modern Perl while retained in Classic. New features could be tested out as CPAN modules and officially introduced to the core in Modern mode.

I know it’s difficult on the compiler side. However, it’s a lot better than creating a complete new language over a decade and then creating a whole new set of libraries over another decade. We don’t actually need a perfect language, which has all the bells and whistles and fixes all of the mistakes of the previous iteration, I think the 80%/20% rule should also apply to Perl. Continuous improvement has done Perl 5 a lot of good in the last years and I think this process should be continued. With a bit of luck, Perl will then be able to live on and innovate for the upcoming decades.

  1. Oh, while we at it: did you know that Perl, Moose and Catalyst is used as a backend for a website with more traffic and CPU load than Google and YouTube? It’s called YouPorn, google it. It’s huge, it’s using the most modern Perl you can get. Also, booking.com and xing.com are huge sites running on Perl.
  2. About 99% of programmers still believe JavaScript is a toy language, much like VBA, something you learn because you can’t program a web application otherwise. Only few people really know what JavaScript is capable of and even less people know how to program JavaScript correctly and cleanly. Those people have to fight ignorance every day and prefer to talk about ECMAScript 5, just like Perl hackers prefer to talk about “Modern Perl”.
  1. Peter Rabbitson
    July 11th, 2010 at 03:30 | #1

    +1, followed by standing ovation! While I generally disagree with the last part (rapid deprecation/morphing core) of your post, overall this is an excellent line of thought. Kudos!

  2. July 12th, 2010 at 09:39 | #2

    Ironman is not my brain child but I think it was a very important step getting the community to talk about stuff a bit more. It is not a “self-contained blogging system”. It is an aggregator. Most of the blogs it collects are on their own systems (except of the use.perl.org and the ones on blogs.perl.org). Those blogs can be reached from other directions as well, not only from the Ironman.As far as I understood, the hope of Ironman was to get more people blogging and to get some kind of a conversation out from the mailing lists and IRC channels to a place where others can also see.

    I am sure it could do a lot more and I’d be happy if the organizers pushed forward with the “best post of month” idea but I think it already did a lot of good.OTOH you are right, it would be great if we had articles included in major magazines but I think such articles are much more difficult to write than the average blog posts we see.

    There are also a few open questions: How do you think that should happen? Everyone tries to write articles and submits them on their own? A single person (or a small group) organizes these? Who would that be? Which magazines would you try to get in?

    Perl 6 and naming: I wish people would stop blaming Perl 6 or its name on the lack of buzz around Perl. I wish people were spending that energy and time in creating more buzz. e.g. By writing an article and getting it published in a magazine.

  3. July 12th, 2010 at 11:56 | #3

    I took the liberty to correct the paragraphs.

    Considering articles: a very well-known IT publisher in Germany, Heise Verlag, is always happy to accept good articles. If I have some time someday, I’d send them an article about Perl. I think I’ll publish my thoughts on that and also on “buzz” as a separate article.

  4. Nilson
    July 12th, 2010 at 17:29 | #4

    I only wish more people in the Perl community shared your points of view (specially the most influential ones). I think you’re right on the spot with your branding analogy.

  5. July 13th, 2010 at 07:20 | #5

    Adding to the ‘articles in magazines’ line of thought - how about starting with something easier like the online aggregators (http://www.reddit.com/r/programming/, http://news.ycombinator.com/, slashdot, etc.). I myself often write my blog posts with the intention to reach bigger audience than just the Perl community, but I mostly fail when I try self-submitting them, I would appreciate feedback how to improve my blog posts.

  6. August 25th, 2014 at 13:10 | #6

    Nice blog here! Additionally your website a lot up very fast! What web host are you the use of? Can I get your affiliate hyperlink to your host?

    I wish my website loaded up as fast as yours lol

  1. July 12th, 2010 at 18:51 | #1