It saddens me to learn that the Ruby.NET project is dead. About 5 minutes ago, Dr. Wayne Kelly announced the following in the Ruby.NET Mailing List:
Ruby.NET started life in 2005 as an academic research project with the goals of learning more about the challenges of mapping a dynamic language such as Ruby onto the relatively static CLI platform. When we released our first beta in 2006, many people got excited and started blogging about the project, at which time the project took on a life of its own heading towards a production quality release that people could one day actually use. The release of IronRuby last year obviously caused us to question this unstated goal. 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. 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 (and also the JRuby project presented by Charles Nutter).
I’ve come to the conclusion that the DLR 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. 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. There is still a massive amount `of work required to achieve full semantic compatibility, to achieve production quality performance and to get Rails to run robustly.
There have already been a number of practical and research outcomes from the Ruby.NET project, however, at this stage, I believe we (the Ruby.NET community) can make the biggest impact by levering our experiences with Ruby.NET to contribute to the IronRuby and DLR projects. Personally, I still feel we have unfinished business – we set our selves the goal of running Rails on .NET and we haven’t achieved that yet. If we can leverage our experience to help IronRuby get to that point, then I’d at least have the personal satisfaction of helping see the job completed.
These are just my views. 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. I’m aware that others in the community will have different goals and so will presumably have a different take on this – I’m keen to hear what you think. If anyone wants to press ahead, then the code base is still owned and controlled by you the community, so you are free to do with it as you please with our full blessing.
I’d also like to make it very clear that this decision is entirely my own – based on research and technical considerations. Microsoft did not in any way suggest or encourage us to kill the project and we thank them again for their support of the project.
I’d like to thank all of our contributors and supporters and apologize if this decision comes as a disappointment. I hope many of you will join me in contributing to the IronRuby project and see it through to a successful completion.
Cheers, Wayne.
While this news leaves an unpleasant taste in the mouths of those who followed the project, it has been clear for some time that the future of Ruby.NET was shaky at best. They did the right thing though and I wish the best to Wayne and his team. Hopefully we’ll see a surge of IronRuby contributions, because a valid .NET implementation of Ruby is important to many people.
Get more stuff like this
Subscribe to my mailing list to receive similar updates about programming.
Thank you for subscribing. Please check your email to confirm your subscription.
Something went wrong.
:'(
Thanks Antonio!
Cheers, Wayne
I have only just gotten used to Ruby. And now you pronounce it “dead” is just funny and quite ironic. I do hope for a more improved Ruby though, if it’s available.
Anyone knows what Wayne will do next?
PS: I really hope this doesnt hurt Ruby. I use Ruby almost exclusively, so Ruby-on-Net (working, maintained) definitely would definitely be awesome.
What is DLR?
Robert, DLR stands for Dynamic Language Runtime.
I see Dr. Kelly’s point about the relative viability of the two projects. But even having commented elsewhere that an improved single implementation could, in plausible theory, turn out to be a Good Thing in terms of Ruby adoption on .NET, rereading his email excerpted here causes me to have some serious second thoughts. He writes,
I can see the desire to have a single reference implementation. I could even be persuaded that the idea of a single common production-quality implementation has major benefits for reusability and interoperability. But, especially having worked at and with Microsoft using compilers of varying levels of quality and conformance, I think it would be a very good thing to have alternate implementations that can be used as development aids. Much as Borland C++ served as a backup compiler for me for many years while Microsoft was still working on a sensible C++ implementation (and having shipped at least one program using BC++ after publicly stating that we “used Microsoft tools in production” due to language-implementation and RTL defects), I would feel much more comfortable as a Ruby developer on .NET if K new that I could use another tool to help me diagnose troubles I was having with IronRuby on .NET. Note that I am not saying that I have those troubles today, just as I would have said that my team was by and large happy with Microsoft’s C++ implementation up until two weeks before we shipped on Borland. But having an alternative compiler/interpreter/adjudicator of the language you are using on the platform you are targeting can and more than once has made the difference between survival and failure for startups and other delicate projects. I would look to someone carrying on, or if necessary forking, Ruby.NET for just that purpose. Maybe it’s not and never plausibly will be “the best” Ruby implementation on .NET; it doesn’t have to be. It’s just there as a crutch for developers, and as something to keep the ongoing IronRuby project “honest”. Performing that role, even if the resulting code was never as fast or small or as the IronRuby equivalent, would still be a service worthy of lyric and epic praise.
interesting that IronRuby incorporates:
“the Ruby.NET parser and scanner”
I’ve never heard J.Lam credit that fact. Maybe, hopefully it’s just that I havent listened closely enough.
I’d definitly like to see competing implementations of Ruby on the .net platform.
It’s a more than worthy exercise for an academic institution. Give those DLR boys a run for their (fat) money!