Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

Re: Getting Involved with Perl 6 - an Update

by spacebat (Beadle)
on Jun 10, 2008 at 01:53 UTC ( #691136=note: print w/ replies, xml ) Need Help??


in reply to Getting Involved with Perl 6 - an Update

I read what I can find about Perl6 but get confused about all the different projects and how they relate to one another. Does KindaPerl6 use Rakudo? I hope that Perl6 won't be slower than Perl5 - one of the bad things about Ruby is the lack of speed.

Its also a bit worrying that there are so many projects - doesn't this dilute the efforts and slow down progress?

Then again, so little of the work is paid and open source tends to branch here and stall there. I'm grateful that people do find the time to push things forward.


Comment on Re: Getting Involved with Perl 6 - an Update
Re^2: Getting Involved with Perl 6 - an Update
by moritz (Cardinal) on Jun 10, 2008 at 06:02 UTC
    Does KindaPerl6 use Rakudo?

    No. At the time kp6 was started Rakudo wasn't even close to usable.

    Its also a bit worrying that there are so many projects - doesn't this dilute the efforts and slow down progress?

    Yes and no. Many of these projects have a different focus, and thus they help exploring the specs in different directions. For example one of the design goals of kp6 was to get BEGIN blocks right, smop explores meta object programming, elf focuses on the grammar and parsing.

    I don't know if progress was faster if all focused on the same implementation, but in the end everybody can decide what do to with their time.

    I hope that Perl6 won't be slower than Perl5 - one of the bad things about Ruby is the lack of speed.

    You have to be aware that there are two kinds of speed, one manifesting in short compilation time, the other in short run time.

    I would be very surprised if any Perl 6 implementation could keep pace with perl 5's compilation. It's just blazingly fast due to some very evil hacks, for example it doesn't generate an abstract syntax tree. On the plus side some implementations (specifically rakudo) might implement precompilation of modules, which would somewhat reduce compilation time of a given script.

    Regarding run time speed, I guess that an initial Perl 6 release will be slower than perl 5. That's because perl 5 has some years of optimizations behind it, which rakudo and other implementations will certainly lack.

    But note that Perl 6 is designed with great care to allow many kinds of optimizations. For example the optional static types can allow some very radical optimizations - if some numbers are declared as Int, you can compile down infix:<+> to a single CPU instruction - you can't in perl 5, because you have to beware of overloading and tied variables, and because you can't declare any types.

    Also note that rakudo compiles stuff (indirectly) to parrot byte code, and parrot has JIT which perl 5 lacks. Now with JIT you can do all kinds of clever optimizations that you simply can't in perl 5. Optimizations in parrot will benefit all high level languages running on it, so there's great incentive to implement them.

      Thanks for that explanation moritz, looking around it seems KP6 is implemented in perl5, which would explain the slowness.

      Its pleasing to know more funds are starting to flow to perl6 and parrot hackers now. Cheers!

        looking around it seems KP6 is implemented in perl5

        Only the backend. The frontend is written in Perl 6.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://691136]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (7)
As of 2014-09-23 09:15 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (216 votes), past polls