On generating buzz
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.
I would like to reply to that quote by this post, since I feel that the importance of the problem has not been understood in its completeness.
The key misunderstanding here is: You can only generate buzz for something new. Let’s just make a small practical example, shall we? Let’s go to programming reddit and pick something up from the front page. How about Little known C# feature, Conditional attributes.? What do you feel when you read that article?
I can tell you what I feel: I don’t care at all. It’s nice to know that C# has that kind of attributes, but I still don’t care because of one single fact: I’m not going to programm C#. That language is out of my scope, because an immediate connection from C# to .NET to Microsoft to Windows is established and I’m a Linux/FOSS guy. Same goes for Java — however nice the newest Hibernate or JSF or jBPM or whatever might be, I’m not interested, since I try to avoid Java, because the word that I associate with Java is “restriction”1.
Same goes for Perl. You can generate as much buzz about Perl as you want, but “Perl”, as I explained previously, is a brand with definitive associations, namely “ugly” and “incomprehensible”. It doesn’t even matter which version, Perl is Perl, right? So every article about some cool new technology in Perl, be it Catalyst or DBIx::Class or Net::Twitter, will be dismissed with a comment “Yeah, it’s nice, but who’d want to code Perl nowadays?”
It’s the same problem Steve Yegge pointed out in his talk which I linked to from my last article: “Java is my father’s language, I won’t use that”. Same goes for Perl — it’s an old language and usually an old language is considered crufty and inflexible, even though it’s untrue for at least Perl and Common Lisp.
So basically, buzz for old stuff doesn’t matter. New stuff can be efficiently buzzed — look at all the attention Cassandra and all other NoSQL database engines are getting. Buzzing only matters when the stuff is new, at least from one’s point of view. And here lies a problem: Perl is extremely well-known. Just like COBOL, Perl is known by the name, even though most people can’t usually tell anything useful about the language itself. Only that they wouldn’t want to program either of these languages, since they’ve heard that they are awful. So barely anyone would consider Perl a new development and therefore a common perception exists which makes all buzzing about Perl moot.
But how can we revive Perl and show the masses that it’s still alive and kicking? We’ve got several options. Educating is probably the most time-consuming and probably also the most useless method — for one reeducated person you get couple of hundreds who’ve learned Perl is ugly. Rebranding might be a good way. Writing articles for popular magazines would probably help a lot, especially if someone were to write an article introducing a totally new and powerful programming language, revealing only at the end that it’s actually has been Perl all along. Perl desperately needs new books (I’m awaiting “Modern Perl Book” eagerly) and also a lot of showcases.
But there is really no patented recipe — Perl currently sits in a self-inflicted branding trap and it’ll be a hard ride to get out2.
And Perl 6 is not helping it at all.