Perl 6 has been vaporware since roughly the turn of the century.  Perl 6 will have elegant object oriented characteristics.  Perl 6 will have a cleaner syntax.  Perl 6 will use a revolutionary new multi-language VM called Parrot that will put it on more-than-equal footing with Java (since, in addition to persistent operational performance, it will also not only continue to be an easier language to use, but will become even more easier to use) for enterprise development.  Perl 6 will be the Next Big Thing.  Perl 6 will supplant Lisp, Python, and C.  Perl 6 will cure world hunger.  Perl 6 will be the all-singing, all-dancing paragon of perfection among programming languages, and it will do your dishes too.  Perl 6 will be developed, and be released to the public — really.

That sort of facetious characterization isn’t really fair, of course.  Some great strides have been made in the development of Perl 6, and it’s all quite public.  There are already-working, if not strictly release-worthy, implementations of it written in several languages (including one written in Haskell — stick that in your pipe and smoke it, C).  The syntax of the language is really slick, and quite succinct without sacrificing any readability.  In fact, it’s more readable than most languages in use today, including Perl 5.8.8 (the Perl version installed on this computer).  On the other hand, we still don’t have an even tentative release date.  The closest we’ve got is an off-hand remark by an insider (project manager Allison Randal) that an alpha release is “around two years away”.  Of course, I think she said that in 2004.  I’m not really sure whether it’s in alpha yet, or not.  Maybe?

I have very boldly predicted that Perl 6 will be in at least Release Candidate status in about eighteen months.  My reasoning is simple: Perl’s release version is already at 5.8.8, and its experimental developer release is 5.9.4, so they’re rapidly running out of numbers that won’t seem silly.  I estimate about 18 months before the silliness is unrecoverable, at the current rate of Perl 5.x development, and if it slows down much more Perl will have become moribund as a whole.  Eighteen months.  That’s my prediction, and I’m sticking to it (for now).

I have a fall-back explanation for how Perl 6 absolutely will be out in about eighteen months, come hell or high water: if it’s not released by the Perl Foundation and the project developers in that time, I’ll probably have completely abandoned it for Ruby 2.0 instead.  That will, if need be, solve the whole problem.  See, I’ve been worrying for a long time about my ability to transition to Perl 6 — by all accounts a completely new language with some family resemblance to Perl 5.x, rather than simply a version increment as one might expect — ever since I first learned about how significantly, fundamentally different it was going to be.  I thought “but I like Perl 5.x” in mentally plaintive tones, worrying about the loss of an old friend.  Ruby may provide exactly the intermediary between Perl 5.x and Perl 6 that I need.  It won’t be like moving from Perl 5.x to Perl 6, and discovering that I have to go through the effort of learning a new language just to use the new version of an old language.  Instead, it will be like moving from language A to language B, and then on to language C.  It’s all new!  Yay!  I like learning new languages.

Even if they don’t release Perl 6 in eighteen months, I’ll probably spend a grand total of eighteen months on Perl 5.x between now and whenever they do release Perl 6.

Welcome to arithmetic within a subjective chronology.