Forgot your password?
typodupeerror
Perl Programming

Parrot 1.0.0 Released 120

Posted by timothy
from the take-a-beak dept.
outZider writes "Parrot 1.0.0 was released last night! The release of Parrot 1.0 provides the first "stable" release to developers, with a supportable, stable API for language developers to build from. For those who don't know, Parrot is a virtual machine for dynamic languages like Perl, PHP, Python, and Ruby, and is best known as the virtual machine for Rakudo, the reference implementation of Perl 6."
This discussion has been archived. No new comments can be posted.

Parrot 1.0.0 Released

Comments Filter:
  • by Anonymous Coward on Wednesday March 18, 2009 @02:57PM (#27245487)

    You're packing a suitcase for a place none of us has been
            A place that has to be believed to be seen
            You could have flown away
            A singing bird in an open cage
            Who will only fly, only fly for freedom...

            What you've got they can't deny it
            Can't sell it, can't buy it
            Walk on...

            -- U2, "Walk On"

    Did Bono take time of from being a pompous narcisist to contribute to the project? What other reason is there for this inane drivel being reproduced in the release announcement?

    At least it's text only and we were spared a blast of bland, derivative corporate rock. I stopped reading after "U2", "Walk On" -- "Fuck Off" more like!

  • by outZider (165286) on Wednesday March 18, 2009 @03:10PM (#27245681) Homepage

    Surprisingly. The idea is to do a full language specification, so there can be many implementations of a language, similar to how Java (theoretically) works. This is also why there is an absolutely huge, yet incomplete, test suite. More tests are passing weekly, but more tests are being generated weekly.

  • by chromatic (9471) on Wednesday March 18, 2009 @03:19PM (#27245833) Homepage

    What other reason is there for this inane drivel being reproduced in the release announcement?

    Tolkein didn't write a line of Perl 5 either, yet Larry quotes him in his release announcements. Epigraphs are long-established literary traditions.

  • by hardburn (141468) <hardburn AT wumpus-cave DOT net> on Wednesday March 18, 2009 @03:38PM (#27246173)

    Perl 5 isn't really bytecode at all. It basically just walks the parse tree directly.

    Perl 6/Parrot is bytecode just as those from Python or Java have come to expect. Perl 5 could be reimplemented this way, but nobody seems to want to bother.

    If your goal is to obfuscate your code to prevent people from copying it, please give up [perlmonks.org].

  • Re:VM question (Score:3, Insightful)

    by VGPowerlord (621254) on Wednesday March 18, 2009 @03:43PM (#27246245)

    I'm not very good with thedetailed explanation, as I am not a Parrot developer, but Parrot's VM is geared toward dynamically typed languages like Perl, Python, Ruby, and PHP. The JVM and CLR are geared toward static typed languages, which is why dynamic language ports to the CLR generally require code changes and cleanup to work properly under those environments.

    [Citation needed]

    So, any Jython/IronPython or JRuby/IronRuby people around to share their insights?

  • Re:VM question (Score:1, Insightful)

    by Anonymous Coward on Wednesday March 18, 2009 @07:57PM (#27249753)

    How's TurboVM different from LLVM, which I believe has the same goals?

  • by Anonymous Coward on Wednesday March 18, 2009 @08:12PM (#27249905)

    The paper is a case for interpreted register virtual machines, but it only makes a passing reference to virtual machines with just-in-time compilers.

  • by Anonymous Coward on Thursday March 19, 2009 @09:00AM (#27254239)

    As for the JIT comment, most of the Java code I use on a daily basis (Eclipse, JIRA) suffers from extreme lurch.

    Swapping. The Windows VMM is extremely aggressive, swapping out any memory that hasn't been accessed recently, even if that memory isn't needed by another program. Unfortunately, this plays out badly when the garbage collector comes along and tries to scan the heap. The result is a lot of thrashing.

    Linux doesn't have nearly the same difficulties with Java "lurching" as Windows does, because the Linux VMM is a bit more liberal in letting memory hang around. (Though Eclipse is likely to be a bad test case. The SWT framework isn't as optimized on Linux as it is on Windows. Try running Netbeans on both and see the difference.)

    If you think about it, there's no conceivable way that slower CPU execution can lead to long, intermittent pauses of the type you describe. Poor Virtual Memory Managers, however, are an exact fit.

    Windows VMM has been improperly tuned for years now. Microsoft has not recognized that modern PCs have a LOT more memory, leading to excess swapping. Vista supposedly makes an effort to fix this issue, though I have not personally tested it.

Take care of the luxuries and the necessities will take care of themselves. -- Lazarus Long

Working...