First, I'd like to thank revdiablo++ for inspiring this meditation with his Why aren't you using Perl 6 yet?
Way back when I first started Pugs, I made up this (Imaginary) Perl 6 Timeline to reflect my expectations. To me, that graph measures "interest level", and we are in the slowly bouncing back phase.
I think it's pretty safe to say that mass migration to Perl 6 will not happen until the Hey, what was the big deal? phase, i.e. when reasons to migrate from Perl 5 become as compelling as current reasons for migrating from Perl 4. Meanwhile, I'm trying to use Perl 6 in production right now, both for new projects and improving existing projects; Inline::Pugs and pugs.pm introduced in Pugs 6.2.5 are helpful here.
There are other more-or-less independent factors that, when happened, can increase my willingness to use Perl 6 in my projects. Here is my wishlist (a.k.a. todo list ;-)), ordered by descending importance:
- An improved Inline::Pugs so I can call Perl 5's DBI.pm from Perl 6 code, and manipulate Perl 6 objects from Perl 5.
- A fully working Perl 6 compilation backend to Parrot or C, so Perl 6 can run in a very competitive speed.
- A more stable core language definition, with both online and offline documentation.
- Unit tests for the language and the "core" modules/pragmas I'd use.
- A few really neat Perl 6 modules that simply can't be done in Perl 5. A robust Seaside/Halo implementation that makes Rails/Catalyst pale in comparison; a combinator library that can be used for formatting, parsing and template generation; et cetera.
- Shared introspection, threading and debugging support for Perl 5 and Perl 6, as offered by Ponie.
- A translator from Perl 5 code to Perl 6, to ease migration efforts.
- ...after those, a fully bootstrapped Perl 6 compiler written in Perl 6, and for Larry to call it Perl 6.0.0. :-)
I'd like to know what other monks think about this. Feel free to list your wishlists, by reordering the numbers above and/or adding more items.