Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage Articles The State of IronRuby with John Lam

The State of IronRuby with John Lam

This item in japanese

IronRuby was announced by Scott Guthrie at MIX07, last April. It has been in constant development since that time and is set to have its first release the second half of this year.

IronRuby is a full Ruby 1.8.x implementation which runs on the .NET Framework allowing Ruby applications to have seamless integration to the .NET libraries and infrastructure. It leverages Microsoft's Dynamic Language Runtime, and both are released with full source code under the Microsoft Permissive License. This level of integration allows the creation of powerful applications utilizing Silverlight and the full power of the .NET Framework.

InfoQ had the opportunity to speak with John Lam, the creator of the original RubyCLR and the one Microsoft hired and tasked with bringing IronRuby to life. John's official title is Program Manager on the Dynamic Language Runtime Team.

Rob Bazinet (RB): How far along the development team is to getting a first "production ready" release out the door?

John Lam (JL): We're shooting for second half of this year. There's a lot of work still to be done, and it's difficult this early on to judge how much community help will be there (we've gotten some excellent contributions to date already). So our schedule will slide to some extent based on that.

RB: The recent update from Scott Guthrie on Silverlight 2.0 talks about IronRuby being support in an upcoming beta in Q1 2008, how much of the planned IronRuby implementation will be supported in that Silverlight release?

JL: We will go out the door with that release of Silverlight. That said, Silverlight is a moving target. We've got one dev on my team (John Messerly) who's spending a lot of his time keeping our tree in sync with the Silverlight tree. Our DLR hosting interfaces are also undergoing some large scale changes right now, and we'll have those changes in place for the Silverlight release.

RB: I follow the IronRuby developers list, how involved are members of the list in the actual development of IronRuby?

JL: We're actively seeking contributions to the libraries, and we've already got some excellent contributions from Curt Hagenlocher and Peter Bacon Darwin, Terence Lewis, and Seo Sanghyeon. The libraries are the part of our implementation that's best suited for parallel development. On the compiler side of the house, we're confident that we've got all the help that we need to build a high quality implementation of the language.

RB: I see Charles Nutter is active on the list, how has his experience been valuable to the IronRuby effort?

JL: One of the great things about Charlie is that he's actively trying to improve things for all Ruby implementations. His experience with tackling compat issues in JRuby (like implementation specific behaviors of Fixnum vs. Bignum, and how to handle ObjectSpace) have helped to guide our approach to tackling those same problems.

For those readers who are not aware who Charles Nutter is, he is the leader of the JRuby Project at Sun. Sun acquired the JRuby project in 2006 which brought Charles Nutter and others to work for Sun. Even with a vested interest in JRuby, Charles gives much advice and feedback on the direction of IronRuby based on his experience with JRuby.

RB: How to do you gauge the "Open Source" part of the IronRuby project with respect to what you are getting out of contributors compared what you anticipated? Based on your previous reply to my question #3, you indicate there has been some good contributions but I want to know how it compares to what you expected.

JL: I'm really happy with the quality of contributions from the community. There are folks who are spending a lot of time understanding how our language implementation and the DLR works.

RB: What still needs to be completed from the open source side of the project? The goal is the full 1.8.6 implementation, correct?

JL: Yes. We're also looking forward to 1.9 features that we can implement simultaneously. One example is our MutableString implementation since it wouldn't be that much additional work to implement 1.9 semantics and add a switch to enable 1.8.x compatibility.

RB: Will IronRuby see a set of tools for developing UI in Visual Studio 2008? Will there be an official release of IronRuby that integrates to VS 2008 at all?

JL: We don't have plans today for IronRuby UI tools in VS. That said, Huw and Dermot over at Sapphire in Steel are doing some excellent work today in providing designer support in VS:

RB: Is the IronRuby team actively working with Huw and others fill-in the gaps that may exist in UI tools for IronRuby or is this just a known effort on their end and no formal collaboration?

JL: There are plenty of gaps for UI tools today. That said, we have no formal collaboration today. We answer questions from them from time to time, and they ping us periodically to let us know how they're doing.

RB: I think everyone wants to know if Ruby on Rails support is a goal for IronRuby. Can you tell us if the team has committed to making this happen?

JL: Yes, Rails is an important exit criteria for declaring "1.0".

RB: What is your vision for the future of IronRuby?

JL: Our goals haven't changed; we will release a high-quality implementation of the Ruby language, likely in the second half of 2008. Releases between now and then will follow our 'conference driven' development schedule. Right now we're planning on being at MIX 08, RailsConf, Tech Ed, and OSCON.

RB: How to you personally feel about the current progress of the project from when you first started to what you know now? How have your expectations been swayed since the beginning of you coming on the project?

JL: I'm really happy with how well our community and our team here at Microsoft has gelled. This is an awesome group of developers and testers. I'm not regretting my decision to move to the US one bit.

RB: John, thank you for taking the time out of your busy schedule to speak with me.

Find out more information about the IronRuby project on RubyForge site and keep up with John Lam at his blog.

Rate this Article