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 about 5.12?
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?
Here's a collection of articles about the release of Perl 5.10.
First, since I'm still wearing the PR hat for the Perl Foundation, I mailed off notifications to many different big news sources. Both Dr. Dobbs Journal and Infoworld published articles about the release. Alas, the Infoworld article has some inaccuracies, but I'm glad to have Perl's name on such a widely-read site.
macnn, a big Mac news site, has good coverage of ActivePerl's release of both Perl 5.10 and ActiveTcl.
Kai 'Oswald' Seidler at apachefriends.org declares "we didn't update Perl because the new 5.10.0 seems to be a development version, and in XAMPP we only support 'stable' versions." Apparently XAMPP is an all-in-one bundle of web tools that you can slap onto your machine. If anyone has more info on Seidler's perceptions of 5.10 as being a development version, which it most certainly isn't, I'd be interested.
LinuxDevices.com has a nice write-up and summary. I wonder how many Linux devices Perl lives in.
HiveMinds Magazine mentions Perl 5.10, and then asks about Perl 6. "I just wish someone would write some insider info on Perl 6 before the new year," says author ahamilton. Hey, I'm working on it. (Also interesting that it's HiveMinds magazine, similar to Hiveminder, a web application run by Jesse Vincent, the Perl 6 project manager.)
The announcement at osnews.com spawned a 20+ message thread about Perl's continued relevance and where Perl 6 is. Thanks to Juerd for fighting some FUD.
That's the roundup of Perl 5.10 postings that I've seen so far. One downside of releasing Perl 5.10 a week before Christmas is that people are interested in other things than talking about programming. I'm hoping news outlets notice the articles I've sent after the holiday break. Please let me know about other Perl 5.10 postings you may find.
Graham Barr has put out some new features on search.cpan.org, both related to the META.yml file that comes with most distributions. The META.yml provides information in an easy-to-handle format on things like the author, version, license, what modules a distribution requires, and so on.
First, a few weeks ago, Graham added the ability to specify project home pages, source code repositories and alternate bug queues via the META.yml file. Now, if you go look at ack's page on search.cpan.org, you'll see that there are links for all of those. Note that the bug queue would normally point to rt.cpan.org, but since I'm using the Google Code issue tracker for ack, I need to point users to it.
Second, today Michael Schwern worked with Graham to make the META.yml more accessible by creating a JSON format, and to create META.yml files on-the-fly for distributions that don't ship with one. JSON is a very common format for structured information distribution, so JSON support at search.cpan.org will make it easy for applications that may not know YAML to work with CPAN meta-information.
Thanks to Graham for some important updates to the site that is effectively the face of CPAN, and for his work on what is often a thankless job.
Adam Kennedy has released his Strawberry Perl for Perl 5.10.0. Strawberry Perl is the Windows Perl distribution that's an alternative to ActiveState's distribution, and it includes tools for building CPAN modules natively, so you're not tied to ActiveState's PPM repository, which may not include the module you want to install, or may be behind a few versions.
As you may know, Perl is now 20 years old. In lieu of buying her a beer and waiting around for a year, I'm looking for interesting stories and memories to collect and post on a Perl-related website with a very nice and short domain name in the next couple of days. Please send them to email@example.com, along with a one sentence biography.
I don't have any that come to mind, but I do remember getting turned on to Awk and its associative arrays, now called hashes in Perl. To a C programmer in the late 80s, the ability to index an array BY A STRING blew my mind.