Microsoft have recently released another dynamic language runtime built on top of the .NET Common Language Runtime, this time for Ruby.
Ruby.NET is implemented using a new .NET library that Microsoft are calling the Dynamic Language Runtime. The DLR provides a set of features specifically targeted at dynamic languages like Ruby and Python, such as a shared dynamic type system and support to generate fast dynamic code.
At this stage the Ruby.NET runtime is in a pre-alpha state, so the majority of the Ruby language unit tests are passing however it wouldn’t be possible to deploy a Ruby on Rails application yet.
This space should be quite interesting to watch, now that Microsoft and Sun both have an alternative runtime available for Ruby. The fact that there are now choices for the runtime is definitely a good thing for the Ruby language since it has taken quite a bit of criticism over the execution speed of the language.
Fast forward a year and I think it’s likely that JRuby will probably win the race. I don’t necessarily think that it will be a superior implementation of the Ruby runtime; however since it runs through the Java Virtual Machine it is at a distinct advantage as the majority of Ruby On Rails applications are deployed in a Unix/Linux environment.