|laziness, impatience, and hubris|
Re^2: The current state of Perl6by moritz (Cardinal)
|on Apr 20, 2010 at 09:53 UTC||Need Help??|
Thank you for asking a sane, answerable and non-FUD question in this thread :-)
I can only talk about Rakudo, but I'm quite sure it's the most usable compiler these days.
Can any current implementation of Perl6 do everything that Perl5 can do without extensions and modules? If not, what is missing?
No. Rakudo mostly lacks IO to be a proper superset, as well as concurrency.
And why? (That is: what is the limitation preventing it.)
For IO: priorities, spec uncertainties, and a champion.
Rakudo development so far has focused mainly on language features, and a few contributors that are too scared to hack the guts (like me) have filled in many built-in functions. But with IO it's not that easy, because you have to interact with parrot in scary ways (or so it seem to me). The specification for IO stuff is currently in the weird state of being both over engineered in some areas, and under engineered in others. So it would take somebody with quite some experience to implement the sane parts, adapt the spec where it's insane, and expand it where necessary.
Concurrency support mostly blocks on parrot, which doesn't expose threads to HLLs in a usable way (has a few blocking bugs, and has had them for quite some time). Still there is hope: We've received a quite good google summer of code proposal to fix up threading. Nothing is decided yet, but I have hopes that it will be funded.
How's the current performance?
Bad. You should expect Rakudo programs to run 100 up to 1000 times slower than comparable perl 5 progreams.
Perl 6 - links to (nearly) everything that is Perl 6.