What is the current state of Perl 6, is it production-ready? Where do we stand right now? There are many programmers curious about the current progress of Perl 6.
There are also two other topics open on on reddit and http://perlmonks.org/?node_id=835419 about this.
Raku is a member of the Perl family of programming languages. Formerly known as Perl 6, it was renamed in October 2019. Raku introduces elements of many modern and historical languages.
Yes! Perl still does today everything that it did in the past and more. It still is in use on some of the largest websites. In fact one of the largest hosting companies uses it as their primary language today.
Raku firing is a fast process. The kiln is heated up more quickly than a non-raku firing. And, the pottery is removed from the kiln when it is red hot. After being removed from the kiln it is cooled down quickly too.
#1 Perl is best suited for Text Manipulation In fact, Perl has been the goto language for regex, HTML parsing, JSON manipulation, etc for almost three decades. Quite simply, no other programming language provides more powerful or easy-to-use ways of manipulating text.
Firstly, and most importantly, follow the Planet Six news aggregator. Perl 6 weekly meetings and blogs from the lead developers and many members of the community are included, and it's a great way to keep up on the progress of Perl 6.
To get an idea of how Rakudo Perl, the leading Perl 6 implementation is doing, check out the Perl 6 Advent Calendar. Every day shows a different facet of Perl 6, and the extent to which it has been implemented right now by Rakudo.
Update (Mar 2012): perl6.org's feature comparison shows the implementation progress of both Rakudo and Niecza (a CLR-targeting compiler, e.g. .NET, Mono).
Perl 6, as a specification, is still undergoing constant refinement and refactoring. Some examples of where the spec is unclear: the object hierarchy, what should and should not be part of the core library, date handling, laziness, 'auto-threading' of junctions. But the bulk of the language has been finalised. The spec is very ambitious, and IMHO is one of the major reasons why Perl 6 has taken so long to get going.
In terms of implementation, the leading project is Rakudo Perl 6, built on top of the Parrot VM. There are perhaps a dozen dedicated developers and many more who are helping test, write libraries, code and documentation. Most development work is funded by grants from the Perl Foundation and community, so there is no reason to expect it to peter out.
Rakudo has plenty of bugs and plenty of missing functionality. It has only recently undergone a huge refactoring - the 'ng' branch. Browse any existing Perl 6 source and you'll find plenty of comments saying "Rakudobug" or "Rakudo doesn't yet implement this..."
Even so, this paints an unfair picture of Rakudo. The Perl 6 specification is ambitious to say the least. The language has such an insane number of features that it has taken implementations years of development to get to the level they are at today. Rakudo is certainly complete enough for people to have written text-based games, wikis and other web applications in, and it's getting better every day. Developers have written around 40,000 unit tests for Perl 6 so far, so it's easy to see improvements in the implementation (Rakudo currently passes ~30k tests, or 79% of the test-suite)
The first "usable" (stable) release of Rakudo is known as 'Rakudo Star'. It is currently planned for Q2 2010 (April-June). The general idea was to implement a large portion of Perl 6 - not the whole language, but a useful subset of it - and minimise bugs. As for production ready, Perl 6 has always had a release date of "Christmas". Perhaps this Christmas, more likely something else. It's going to be a long time before you can use the whole of Perl 6, bug-free, but we're at least going to see a stable release very soon, and hopefully the hype for Perl 6 will snowball from there once people discover that it's real.
If you are interested in Perl 6, you might consider getting involved in the community. From my experience it's a very friendly community (it almost creeps me out how nice everyone is, even on IRC). Install Rakudo, try to break it, file bugs. Write testcases. Write implementations for core functions, write modules. There's plenty to do!
Note: Please check the date of the original answer. As of April 2020, this is no longer the case.
Perl 6 is not production ready using most common definitions of "producion ready" as per SO's own thread - the implementations are not stable and possibly lack full features of the specification.
Please see this SO answer for details on the status as of 2008. The language specification seems stable (at least as per brian d foy in the linked post) but the implementation is not there yet.
As for specific dates, as per this post on 04/08/2010, the first major release of the most far-ahead Perl 6 implementation - Rakudo (on Parrot VM) - named "Rakudo Star 1.0" is tentatively aimed at Q2 2010 (original plan was around April 2010 but was shifted due to personal circumstances involving lead developer).
Of course, YMMV - I have seen people use a LOT less stable code/projects in production (including what they themselves wrote) than Perl 6's current state. But I personally wouldn't even begin to dream about deploying Perl 6 until it's been widely released for a while.
However, please note a very important point: the above does not mean that Perl 6 is vaporware or that it should not be learned - it does sound like it's progressing well and therefore I personally intend to start digging into it (well, already have thanks to SO) ahead of time so I'm ready to use it when it's stabilized a bit.
In addition, I'd like to add that a large chunk of great Perl 6 functionality was back-ported to Perl 5 (in 5.10-5-12, and see Perl6:: modules), so the above point about learning Perl6 is extremely relevant even if you don't have immediate plans to deploy Perl 6 itself.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With