Microsoft announces IronRuby
Posted by
Werner Schuster
on
Apr 30, 2007
- .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.
2 comments
Watch Thread Reply