Wednesday, August 05, 2009

Perl 6 gets a release date!

Big news from the current Perl conference YAPC Europe 2009 here in Lisbon is that Rakudo * (star) will be released in spring 2010. Rakudo is Perl 6 on Parrot, which is an equivalent to the JVM or CLI.

Is that an official Perl 6 release? Well, it is the nearest to official that you will see. The Perl 6 team are keen to point out that there will be no such thing as a official version, just different implementations. I guess they are looking at Python for their inspiration there.

This could be make-or-break for Perl. It shouldn't be, Perl 5 will continue no matter what, but the new stuff is what will make Perl cool again in the eyes of the fashion conscious. We all know that fashion is fickle, illogical, and driven more by hormones than intellect. We also know how important it is in decision making. Much as it would like to, the Perl community cannot pretend that Perl 6/Rakudo is too far away to worry about. It is six months away.

My worry is that expectations will be high - the release will be incomplete and they are very open about that. The Rakudo "pumpking" (project manager), Patrick Michaud, sees this as a test release to encourage people to write applications to find bugs and feed back into the development. Trouble is that companies have been burned too often in the past to invest in applications on an incomplete and possibly flaky platform.

The dilemma is that if something is not released soon then Perl will have missed the boat - which is already upping anchor and about to steam away.

Update: read the comments from Pm - they are very good.


Pm said...

Why is there so often an assumption that there's a "boat" to be missed? Or that this is the last boat?

If someone wanted to create a new super-powerful language today, do they also share the same "boat departure deadline" that people ascribe to Perl 6?


Clive said...

Perl 6 is linked to Perl 5 in so many ways. Perl 6 has always been sold as the next Perl, not a new language. Whether that is right or not, that is how it is percieved. Now, having dropped Perl 5, would people be willing to pickup Perl 6? They should, but will they? They will have new (non-Perl) skills they want to exploit, and then there is the pride thing about saying maybe Python/Ruby/whatever wasn't so hot after all. You make the assumption that everyone has an open mind, and I really wish that was so.

Pm said...

I don't need to assume that everyone has an open mind -- there will always be some people that decide not to use Perl. That's okay.

Having a successful product doesn't require that everyone has an open mind about it -- we just need enough open minds to get it started and keep it going. I don't think we'll have "most minds are closed forever".

Our measure of success is not "everyone is using it" or "we've convinced everyone to switch away from Perl 5/PHP/Ruby/Python" but rather "enough people are working with Perl 6 that it becomes a viable and popular platform for the next 10, 20, 50, or even 100 years". That's the boat I think we're trying to catch, and not only is that boat still in port, but parts of the boat haven't even been built yet.

I also don't believe it's the case that only Perl 5 programmers will be interested in Perl 6, such that we have to get Perl 6 released before all of the Perl 5 programmers leave. Even today Perl 6 offers features not readily available in other languages, and I think many people who may have rejected Perl 5 in the past will find much that they like in Perl 6 -- so much so that it will be like a "new language" to them.

So yes, you're correct that there will be many people who drop Perl 5 and say "I'll never use Perl again". But I'm betting that many will stick with Perl 5 and start using Perl 6, and that many who leave Perl 5 (because it was growing "stale") will like the new shiny features in Perl 6, and that many many others who would never even consider Perl 5 in the first place will decide that Perl 6 is the language for them. Perhaps I'll ultimately lose that bet, but I think it's way too early to start calling the outcome.


Clive said...

You make some excellent points. Thanks. I have an update on my original post refering to your comment.