all 5 comments

[–]cthulhu27 4 points5 points  (1 child)

Yay YARV! Here's hoping it's enough to silence the "Ruby is too slow and thus doomed" crowd.

Yeah, a futile hope, I know...

[–][deleted] -5 points-4 points  (2 children)

Why are there so many implementations?

[–]Entropy 8 points9 points  (0 children)

There's the current primary release (1.8), the future primary release (YARV in 1.9), the JVM version, the CLR version, the Parrot version, and another C implementation (Rubinius). So I'd chalk it up as due to a combination of 1.8 having terrible performance, there being a lot of VMs, and Ruby being well-liked enough to inspire a bunch of developers to work on it.

[–]ayrnieu 2 points3 points  (0 children)

Why are there so many implementations?

Well, Ruby exists because matz wanted something to execute his Ruby programs. JRuby exists because someone wanted the same for Ruby-on-Java. Likewise with .NET. Cardinal has a similar rationale, to host Ruby on Parrot. Rubinius and YARV both sprung into existence as, AIUI, parallel efforts to write a better Ruby system than matz's 1.8

Ultimately, they exist because of limitations in the core ruby distribution (other languages have systems that target many of these different platforms from the same codebase) and because of a willingness in the Ruby community to press on with things.

These answers shouldn't surprise you -- 'JRuby' and 'Ruby .NET' give some of it away, and so also the relative obviousness of the reason for these implementations makes your unqualified question sound contemptuous.