Promote Perl 6 by saying "Perl 5"


Perl 6 is hurtling toward completion. The specification is nearly complete, and Rakudo now passes 68% of the specification tests. Applications like November are being written in Perl 6. Perl 6 is no vaporware, and the day when Perl 6 is ready for widespread use is coming quickly.

Perl 6 has been in development since 2000, and in that time many people may have forgotten about the plans we've had for Perl 6. There may be those who have never even heard about the plans for Perl 6. Those of us who live in the Perl world are aware of the great changes afoot, but there are plenty of people who are not.

I think that the time is right to help make those people aware of Perl 6, and to remind them constantly of what's coming. My proposed technique is simple and it takes advantage of the key elements of time and repetition to help remind everyone about Perl 6.

We need to stop referring to Perl 5 as "Perl" and start calling it "Perl 5."

Specifying the "5" in "Perl 5" calls attention to the fact that there is more than one Perl. It makes the listener or reader who is unaware of Perl 6 wonder why the 5 is specified. For the reader who knows about Perl 6, hearing "Perl 5" reminds her that Perl 6 also exists.

I don't think it will be too tough. All I ask is that, at the very least, when writing about Perl 5 in your blogs or mailing lists that you specify the version you're talking about. It doesn't even need to be every instance. I'm guessing we'll find that repeatedly saying "Perl 5" in a long message will get tedious both for writer and reader.

I think the way to look at it is that "Perl 5" is the formal name for the language, and later references can refer to it as "Perl," almost like a nickname. Just that first reminder of "Perl 5" will be enough to help lodge in the reader's brain.

With enough time & repetition, it will get to be habit in our minds. With enough time & repetition, the computing world will be reminded of Perl 6 coming soon.


Also, using "Perl 5" as the name lets you say "Perl 5 version 10", making Perl 5 sound less stagnated and separating it from the vapourware of Perl 6.

Pity that Rakudo Perl 6 has had 17 stable releases since the release of Perl 5 version 10. Your definition of "vapourware" is very curious, ilmari.

One fact that may have caused a lot of my original criticism of Perl 6 is the fact it is called "Perl", while being so radically different from all previous Perls. To paraphrase on an old joke: "Perl 6 is going to be a wonderful language. Too bad it's not going to be Perl."

If Perl 6 had been called under a completely different name, then it's possible a lot of confusion and frustration would have been prevent.

How many of those releases are installable? As in "make install" will give me a $PREFIX/bin/perl6 that I can Just Use? And at only 68% of the available spec test suite passing I'd say it's at least 32% vapour. Maybe more, depending on how much of the available spec the the tests actually cover, and how complete that spec is.

You're going to have to convince the creator and namer of Perl 1, Perl 2, Perl 3, Perl 4, Perl 5, and Perl 6 that the "Perl" in "Perl 6" is inappropriate.

Good luck.

Keep moving those goalposts, ilmari.

The perl6 fakecutable has worked since December 2007.

Installation isn't perfect on every platform, but it improves with every release. Monthly.

In six months, I can imagine that you'll complain that 80% of the (by then, notably expanded) test suite isn't sufficient.

It's fine if you think it'll never be complete (same as Perl 5). It's fine if you'll never use it (though you're more than welcome to).

Yet I cannot understand the abuse of language and thought it requires to claim that software which makes visible weekly progress and monthly stable releases does not actually exist.

I personally have been doing this for about a year, more or less, and I think it's a very good and useful idea.

Granted, my reason was primarily because I worked with a lot of smart people who believed Perl 5 to be completely brain-dead and Perl 6 to merely be catch-up to ruby/python/etc.

I think I got in the habit of specifying which Perl after a conversation with a LISP hacker where I described my use of closures and an interesting symbol-table hack in a Perl program and he asked me if I was doing this with a prototype of Perl 6... turns out he didn't even know that Perl 5 had lexical variables, never mind closures!

vaporware: An advertised product, often computer software, whose launch has not happened yet and might or might not ever happen

I found a couple of other definitions but I would still say Perl 6 is not vaporware in any sense of the definition that is normally applied.

Come on. Have you read the instructions on how to install parrot and rakudo? I bet not. Currently, it boils down to:
svn co parrot
cd parrot
perl Configure.PL
cd languages/rakudo
git clone git://
perl Configure.PL
Then symlink the perl6 binary to $HOME/bin or /usr/local/bin/ and voilĂ ! You have hot and steaming vapourware on your system. Beware!

Edit: official instructions are actually even simpler. Note that I omitted the suffix .git in the url for git clone above.

There are lots of software projects that are difficult to install that no one in their right mind would consider "vaporware". Just the other day I was looking at Redmine and it's install process is crazy long and complicated (

Leave a comment

Job hunting for programmers

Land the Tech Job You Love, Andy Lester's guide to job hunting for programmers and other technical professionals, is available in PDF, ePub and .mobi formats, all DRM-free, as well as good old-fashioned paper.