InfoQ

News

Microsoft announces IronRuby

Posted by Werner Schuster on Apr 30, 2007

Community
.NET,
Ruby
Topics
Dynamic Languages ,
.NET Framework ,
Scripting
Tags
CLR ,
RubyCLR ,
IronRuby ,
Languages
At their MIX07 conference Microsoft has just announced IronRuby, a Ruby implementation running on the .NET CLR. In this, IronRuby is similar to JRuby on the Java VM, and must not be confused with tools like Ruby/.NET Bridge which only connect a Ruby interpreter with a .NET VM.

Jim Hugunin, developer of IronPython, a Python version that runs on .NET, provides some more information on the technology underlying IronRuby, IronPython and a few other dynamic languages:
The new Dynamic Language Runtime (DLR) adds a small set of key features to the CLR to make it
 dramatically better.  It adds to the platform a set of services designed explicitly for the needs
 of dynamic languages.  These include a shared dynamic type system, standard hosting model and support
 to make it easy to generate fast dynamic code.  With these additional features it becomes dramatically
 easier to build high-quality dynamic language implementations on .NET.  More importantly, these features
  enable all of the dynamic languages which use the DLR to freely share code with other dynamic languages
  as well as with the existing powerful static languages on the platform such as VB.NET and C#.
He also points out that the source for IronPython and the new DLR are available.
 

An official Microsoft Ruby version has been expected by observant members of the Ruby community. One indication was John Lam, creator of Ruby.CLR and now at Microsoft, who went on forums such as ruby-core, asking detailed questions about the behavior of Ruby and some of it's standard libraries.  

This hit home with JRuby's Charles O. Nutter who is behind the effort to get get a proper specification for Ruby. He has long ago started the Ruby Spec Wiki and tries to encourage community involvement in this project. Another effort is worked on in two Google SoC sponsored projects to to define Test Suites that can specify the behavior of Ruby using RSpec, a Ruby framework for "executable specs".

This is obviously very important for every Ruby implementation, such as JRuby, Rubinius or IronRuby, because it's essential to know what behavior and functionality to implement. The behavior of most of Ruby's libraries and features is currently only documented in their implementation code.

In light of this, Charles O. Nutter encourages Microsoft to join the effort:
We hope they[Microsoft] will join us in helping to build a community spec for Ruby and a common set of  open-source compatibility tests.
Asked for a general comment on Microsoft joining the Ruby space, Charles O. Nutter says:
It's good to see Microsoft has also seen the potential of Ruby, and that they're getting started on their own Ruby implementation. It validates the time and effort we've put into JRuby, and helps emphasize the importance of Ruby and other dynamic languages on the JVM.

         
 
Does this means the product is available? by Jorge Domenico Bucaran Romano Posted May 2, 2007 2:43 PM
Re: Does this means the product is available? by Werner Schuster Posted May 3, 2007 9:55 AM
  1. Back to top

    Does this means the product is available?

    May 2, 2007 2:43 PM by Jorge Domenico Bucaran Romano

    Hello, does this announcement means that the product is available in full form? I downloaded a package but it seems to be like a beta/testing product.

  2. Back to top

    Re: Does this means the product is available?

    May 3, 2007 9:55 AM by Werner Schuster

    IronRuby isn't available yet. What you can download is a new version (plus source) of IronPython at codeplex.com/IronPython

    IronRuby should become available in the next few months, although it's not clear how complete it will be and how compatible it will be to Ruby 1.8.x.

Educational Content

Brian Marick on 4 Challenges and 5 Guiding Values of Agile Software Development

Brian Marick takes us through a quick tour of the most important values and challenges to adopting Agile successfully (they aren't the typical challenges and values we hear in the community).

Are You a Software Architect?

The line between development and architecture is tricky. Does it exist at all? Is an ivory tower actually needed? There's a balance in the middle, but how do you move from developer to architect?

Agile – A Way of Life and Pragmatic Use of Authority

The word 'authority' sometimes produces an allergic response in hard-line agilists. Freedom and authority – both are bad if misused and both are good if used in right spirit for a noble cause.

Getting Started with Grails, Second Edition

"Getting Started with Grails" brings you up to speed on this modern web framework. Companies as varied as LinkedIn, Wired, and Taco Bell are all using Grails. Are you ready to get started as well?

Using ITIL V3 as a Foundation for SOA Governance

Those familiar with only ITIL V2 often scoff at the thought that ITIL could serve as a governance framework for SOA. With ITIL V3, the focus of the framework shifted towards service-orientation.

Adrian Colyer on AspectJ, tc Server and dm Server

SpringSource CTO Adrian Colyer discusses AspectJ, SpringSource's dm Server and tc Server products, OSGi and Scrum.

Adam Wiggins on Heroku

Heroku's Adam Wiggins talks about Rails, Background Jobs, Add-Ons, Ruby, and how Heroku manages to work around Ruby's inefficiencies using Erlang and other languages.

SOA as an Architectural Pattern: Best Practices in Software Architecture

For Grady Booch the foundation of a good architecture is patterns, SOA being just one of many patterns. In this Second Life presentation, Booch attempts to bring more clarity on what architecture is.