Every so often I get asked that dreaded question "When is Perl 6 coming out?" Sometimes it's a local Perl Mongers meeting, and sometimes it's an email like below, from a reporter at cnet.com, in response to my Perl 5.10 announcement:
What's up with Perl 6/Parrot? I've never covered the issue terribly
closely, but it seemed that there was one school of thought that argued
for some universal virtual machine and another that wanted to keep Perl
more with its duct-tape-of-the-Internet roots. Please feel free to set
me straight in this area--I have only passing familiarity.
Is Perl going to stay on a dual 5.x and 6.x track? When is 6 due? How
reporter, CNET News.com
This is not at all uncommon as a perception. People just don't know about Perl 6, don't know about Parrot, and certainly have never heard of Pugs. Here's what I replied:
Perl 6 is a rewrite of the Perl language. It will feel Perly, and yet become more modern as it pulls in influences from languages like Ruby and Haskell.
Technically, Perl 6 is just a language specification, and there are at least two implementations underway. One of the Perl 6 implementations is named Pugs, and is written in Haskell, on a project led by Audrey Tang. The other Perl 6 implementation is being written to run on top of Parrot. Parrot is a virtual machine for running modern dynamic languages like Perl, PHP and Ruby, among others. The intent is to have Parrot bytecode generated by one system, say, Perl 6, easily interact with any other language's Parrot bytecode.
Yes, Perl 5 and Perl 6 will stay in dual development. Perl 5 has such a huge installed base, it won't be going away any time soon after Perl 6 exists.
There is no due date on Perl 6, and never has been. At this point it's still sort of a big research project. Fortunately, some of the development in Perl 6 has found its way into Perl 5.10, such as the "say" keyword and some regular expression improvements.
I don't think the Perl 5 Porters have even started thinking about a timeline or feature set for 5.12 yet, since 5.10 has only been out for eight days now. From my monitoring of the perl5-porters list, we're just trying to make sure that problems people are reporting with 5.10 are not actually problems with 5.10 itself.
Let me know if you have any other questions.
I've published this open response for two reasons. First, I wanted the core Perl community to get an idea of what outside perception of us is like. People know bits and pieces of what we here in the Perl core echo chamber know.
Second, I wanted to raise the flag again of how outsiders want to know more about Perl 6, and that the first, and in many cases only, thing that they want to know is "Where is it and when will it be out." I've never felt that the Perl 6 development team has ever been interested in addressing the concerns of those who ask.
Note that I'm not talking about giving a timeline, or a schedule, because of course Perl 6 is being created by volunteers, and there's no point in giving a schedule if the project can't realistically hit it. What I did say was "address the concerns." Maybe the project can't give the people want they want, but is there something they can give to help satisfy the hunger, and keep people interested?
For that matter, I've never felt that anyone on the Perl 6 development team even saw it as a reasonable question to ask. I've always seen the question answered with angry, defensive replies. Such a problem to have! People clamoring to use your project!
It's amazing to me that we have any goodwill left, any interest, that Perl 6 hasn't been written off as permanent vaporware. To the Perl 6 community, I ask, what can we as the rest of the community do to help keep people interested in Perl 6? Do you see that as a reasonable goal? And to everyone else, who is willing to help in this task, to help keep the fires of anticipation burning in the public?