|Perl Monk, Perl Meditation|
Re: Hockey Sticksby tobyink (Abbot)
|on Jan 24, 2012 at 01:06 UTC||Need Help??|
As much as I like Perl 6, all its implementations are right now missing the one killer feature that could drive adoption. And I don't mean heredocs in Rakudo.
Imagine I wanted to port some of my Perl 5 modules to Perl 6. What exactly would that entail? A more or less line-by-line translation of a module might take, say, 30 seconds per line of code, so maybe 2 or 3 hours for a smallish module.
And yay, I'm done. Or actually, maybe I've hardly begun because the first few lines of my script were:
... d'oh! Now I've got another few months ahead of me in my porting exercise.
This is a major problem for people hoping to use Perl 6 for actual work. People say that CPAN is the best feature of Perl. If Perl 6 doesn't have CPAN, then no matter what other features it does have, it's missing the best feature of Perl.
I'm not saying that Perl 6 needs to reimplement all of Perl 5. It just needs to embed libperl so that Perl 6 code can load and use Perl 5 modules. While not trivial, this seems achievable.
I think perhaps many of the Perl 6 developers are afraid to implement such a thing, because if Perl 6 can run Perl 5 code, people have less of an incentive to port their Perl 5 code to Perl 6. But I disagree - I think that the burden of having to port not only your own code, but any underlying libraries you use acts as a strong disincentive right now.