Rubinius: my vote for the next Ruby VM
As the title of this post may suggest, I reckon Rubinius is genuinely a cool project. Basically, It’s a Ruby VM written in Ruby — in a similar way to PyPy is a Python VM written in Python. How does it work, you say? Part of the code translates Ruby to C. It translates itself to C, then compiles, and there you go, you have a VM. Obviously you have to go through this bootstrapping process using an existing interpreter, but once you’ve got that on one platform, you’re sorted. (And if you did have to write one in a different language first, it needn’t be all that good. Luckily Ruby has a fairly decent one though.)
Why do I think this is the next VM? Well, the only other one that seems to have any hope is JRuby, and that’s written in Java. And that just seems boring… If a language is good, it should be capable of hosting itself — Java should be the same, actually. (Are there any Java on Java VMs out there?)
I haven’t actually tested Rubinius yet. I will at some point; even if it’s not that great at the moment, I’m pretty sure it’ll be great soon.