InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

Is it too late for Parrot VM?

Posted by Niclas Nilsson on Sep 21, 2007

Sections
Development
Topics
Architecture ,
.NET ,
Scripting ,
Ruby ,
Java
Tags
CLR ,
C ,
Languages ,
JVM

The Parrot Virtual Machine recently had it’s sixth birthday. Parrot is an open source VM that’s being developed closely together with Perl6, but it is a multi-language VM and it targets a lot of other languages. Its primary goal is to be a good VM for dynamic languages, but more unexpected languages like C99 is running on Parrot and there is a .NET bytecode translator.

But six years is a long time, and meanwhile the .NET Dynamic Language Runtime has arrived and Java is adding better and better support for dynamic languages. The problem is that none of 50 current language implementations on top of Parrot seems to be complete, and people start to loose hope of 1.0 ever seeing the light of day. And if Parrot doesn’t become complete soon - will there be enough people around to care at that point, or will all the momentum of portable multi-language platforms have gone to the JVM or maybe even the .NET CLR/DLR?

The JVM hosts more than 200 languages already and .NET platform is closing in on Parrot with about 40 language implementations currently. With Java going open source as well, the Parrot project need to hurry up or risk loosing the race before they even left the starting blocks. Or is Parrot already too late?

Probably by Dan Tines Posted
Parrot is too late, as well as Perl 6 by Guo Pei Posted
  1. Back to top

    Probably

    by Dan Tines

    It might be too late for Parrot and Perl6. On a side note, I would quibble over more than 200 languages. Take a closer look at that list.

  2. Back to top

    Parrot is too late, as well as Perl 6

    by Guo Pei

    Parrot is absolutely too late for what it targets. The same thing with Perl, two things happened in those 6 years: 1) The world of language has progressed really fast without Parrot, and its original design most likely obsoleted in some areas; 2) Maybe the design of Parrot also changed to keep up with the trend, however that means its design is no longer consistent.

    For Perl 6, the big question is how many people still care. Not many, other than hardcore Perl guys. It lost its speed for long, and 6 years ago there were still many want to revive it, but even those ones have faded away in 6 years.

    Perl 6 won't be a bad choice for those who have been with Perl forever, because it is probably easier to take on.

Educational Content

Jesper Boeg on Priming Kanban

In this interview, Jesper Boeg, author of the new InfoQ book – Priming Kanban, discusses the keys to using Kanban effectively, and how to get started if you are currently using other approaches.

New-age Transactional Systems - Not Your Grandpa's OLTP

John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.

Cool Code

Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.

Collaboration: At the Extremities of Extreme

Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.

Yesod Web Framework

Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).

Transactions without Transactions

Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.

Attila Szegedi on JVM and GC Performance Tuning at Twitter

Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.