Unless things have changed, Perl 5 work will be compatible with whatever eventually becomes Perl 6.
Someone would have to work on that seriously. A couple of proofs of concept have existed, but they tend to bitrot before they get anywhere close to complete.
Until someone shows you working code which solves non-trivial problems and demonstrates that said code will remain working for longer than a couple of releases, assume you won't be able to use Perl 5 code or the CPAN from a Perl 6 implementation any time soon.
| [reply] |
In this interim timeframe what I would really like for Christmas is Inline::Perl6. Then I could use Perl5, but pull some Perl6isms in where they are advantageous. It would be fantastic for experimentation as well. There is Inline::Rakudo, but it hasn't been maintained since 2009, and seems to be among the hardest of the Inline modules to install.
| [reply] |
Perl 6 is expected to have a backwards-compatibility mode, yes, but that's not really the point for me. I'm not worried about my Perl 5 code becoming obsolete; I assume I'll be able to run it in Perl 5 just fine for many years to come.
It's taken me years to learn to write "good" Perl 5: using Perlish idioms like die unless(something) and for(0..9){ instead of for($i=0;$i<10;$i++){, not cluttering things up with unnecessary parentheses, writing clearer regexes by using better delimiters and /x, using the power of map, etc. If I make the move to Perl 6, it'll be because I want to take similar advantage of its new powerful features; not so I can continue to write Perl 5 code and let it translate.
Look what happens here when people post code that appears to have been cut and pasted out of a 1998 tutorial. Even when it's technically correct and works, they're encouraged to modernize it with strict, the 3-arg open, etc. If I start using Perl 6, I don't want to be like that, writing code that technically works but only because the language designers have taken mercy on me. I'll want to write good Perl 6 code, which appears to mean I'll need to learn quite a lot of new stuff -- and maybe unlearn some things, since it appears $array[0] will be @array[0], for instance.
Again, that may not be a bad thing, and may be very much worth it; but it makes it more of an open question than just "upgrading" to a new version of a language.
| [reply] [d/l] [select] |