Ruby Shines on All Platforms

Microsoft, Sun and others are pushing the Ruby language across various platforms.

REDMOND, Wash. -- As the Ruby language becomes more popular, Microsoft, Sun Microsystems and others are working on ways to make the language run better on various platforms.

John Lam, a program manager on the Microsoft DLR (Dynamic Language Runtime) team and the creator of the RubyCLR bridge for Ruby developers to write Ruby code on the Microsoft CLR (Common Language Runtime), spoke about Microsoft's effort to deliver an implementation of Ruby for the .Net platform, known as IronRuby.

Lam spoke at the Lang.NET conference on Microsoft's campus here Jan. 30, noting that Ruby is a "cross-generational" language because "old fogies and young kids" alike like to use the language. Some folks are using the Ruby-based Ruby on Rails framework for large-scale data center work, Lam said.

However, Lam added that his goal is to see Ruby run in as many places as possible.

"We want it to run natively on Windows and wherever the DLR runs," including Linux and the Mac, he said. "And almost everybody is interested in running Rails on top of our implementation."

Lam pointed to the various implementations in the works, including his own IronRuby effort, Sun's JRuby, Queensland University of Technology's (QUT) Ruby.Net and the Rubinius virtual machine and compiler for Ruby. IronRuby thus far passes 57 percent of the Rubinius test suite. However, the project has debugging support and has inherited the "tokenizer" and parser from the QUT project.

Meanwhile, as the interfaces between the DLR and IronRuby are still in the process of being solidified, Lam said Microsoft is not yet ready to open up the entire project to outside developers. In addition, the IronRuby team has done nothing in the way of performance tuning, he said, adding that the effort is still early and the IronRuby team continues to work toward a beta and then a 1.0 release.

Wayne Kelly, a lecturer at QUT and lead on the Ruby.NET project, said the effort started in 2005 after QUT had done some work in 2003 on delivering a version of the Perl language for the .Net platform -- Perl.Net, funded by Microsoft Research.

Kelly said the first beta release of the Ruby.NET compiler came out in 2006 and it was based on early results coming out of Microsoft's IronPython project to deliver an implementation of the Python language on the .Net platform.