Two efforts to deliver an implementation of the Ruby language on the .Net platform have merged into one. Or have they?
Rather than continue to chase the same goal, Wayne Kelly, a lecturer at the Queensland University of Technology and the lead on the Ruby.Net project, said he is refocusing his efforts on Microsoft’s IronRuby implementation. The Queensland University of Technology is based in Brisbane, Australia.
However, some supporters of the Ruby.Net project are considering keeping it going as a “stepping stone” while IronRuby is being developed.
Kelly, who presented the progress of the Ruby.Net project Jan. 29 at the Lang.Net conference on Microsoft’s Redmond, Wash., campus, announced Feb. 4 that he now plans to support the IronRuby effort.
In a blog post Feb. 5, John Lam, a Microsoft engineer who is heading up the IronRuby project, extended a “warm welcome to Wayne, and we invite anyone else who wants to work on IronRuby to join our Open Source project. Microsoft Research funded a portion of the development of Ruby.net, and their parser lives on in IronRuby thanks to the excellent work that Wayne did in producing the Gardens Point Parser Generator.”
Meanwhile, in an e-mail to the Ruby.Net Compiler Discussion group posted late Feb. 4, Kelly said he felt no need to continue work on the Ruby.Net effort because Microsoft’s DLR (Dynamic Language Runtime) “is clearly here to stay-it’s becoming an even more important part of the Microsoft platform. I also believe that to obtain production quality performance, Ruby.NET would need to reinvent (or adopt) something equivalent to the DLR. If we were starting the project today, there is no way we wouldn’t use the DLR.”
Ruby.Net started as a Microsoft-funded research project to place a Ruby implementation on the Microsoft CLI (Common Language Infrastructure). The project released its first beta last year. Kelly said his team began feeling confident about delivering a production release of the technology. Yet, “the release of IronRuby last year obviously caused us to question this unstated goal.” he said. “At the time we didn’t know if the IronRuby project and the DLR would succeed, so we decided to continue with Ruby.NET at that stage.”
However, “last week at the Lang.NET Symposium, I presented our work on the Ruby.NET project and also had the opportunity to learn more about the progress of the IronRuby project and the inner workings of the DLR,” Kelly said in his e-mail. “Whilst Ruby.NET initially had a good head start on the IronRuby project; by incorporating the Ruby.NET parser and scanner and by leveraging the DLR, I now believe that IronRuby is more likely to succeed as a production quality implementation of Ruby on the .NET platform. I believe that ultimately there is no need for two different implementations of Ruby on .NET. So, if Ruby.NET is ultimately not going to be that implementation, then we should not waste further developer effort fruitlessly chasing that goal.”
Thus, said Kelly: “I believe we (the Ruby.NET community) can make the biggest impact by [leveraging] our experiences with Ruby.NET to contribute to the IronRuby and DLR projects.”
Head of Ruby Project to Support Microsoft
In an interview with eWEEK Feb. 5, Lam said Kelly approached him after the conference was over “to talk about what he wants to do next. I think he made up his mind after learning more about the DLR at Lang.NET. We talked about areas in IronRuby where we thought we could use his help, and his interest really is much more from an academic point of view versus shipping a product. In the end, it was kind of strange that a university was involved in producing a production-quality compiler.”
Kelly said as much in his e-mail. “As a researcher, my prime interest is not in developing products, but in developing innovative new ideas and having an impact by having those ideas used in the real world,” he said.
Kelly also said that Microsoft did not try to influence his decision.
“Joining forces lets us avoid duplicating effort,” Lam said. “More people working in parallel on libraries means that folks will get a working Ruby on .Net that runs real programs sooner.”
Both Lam and Kelly said a core goal of both projects is to get the popular Ruby on Rails framework running on .Net.
Meanwhile, on the same Ruby.Net discussion group thread, some Ruby.Net supporters said that while they respect Kelly’s decision, they do not see reason to kill the project.
“I still believe that there is room in the world for both a statically-compiled Ruby and a dynamically-interpreted Ruby on the CLR, with Ruby.NET representing the former and IronRuby the latter,” said Ted Neward, founder of Neward & Associates.
“There is a clean separation between what Ruby.NET can offer the .NET developer ‘right now’ and what IronRuby ‘will not’ offer the .NET developer in the near term future. As such this is one area that I believe should be the core focus of the Ruby.NET project moving forward,” said M. David Peterson, co-founder and chief architect at 3rd&Urban.