« DLR Team at Tech Ed | Main | Getting Started with the DLR: ToyScript »

June 04, 2007

IronRuby and Ruby.Net

Heron

Today, there are two different Ruby implementations on the CLR: IronRuby and QUT's Ruby.Net.

We licensed the Ruby.net codebase earlier this year, and we are using the scanner and parser from Ruby.net in IronRuby today. This helped us bootstrap our efforts, and we know that we have acquired a good scanner and parser that is already highly compliant with MRI:

"In addition to passing all 871 tests in the samples/test.rb installation test suite of Ruby 1.8.2, we are now able to support the standard Ruby test unit library and pass most of the 1864 assertions in the test/ruby test directory."

IronRuby is effectively a continuation of the excellent work that Wayne Kelly, his students, and John Gough have been doing with Ruby .Net. Of course, IronRuby also builds on top of the excellent type system, hosting interfaces, and runtime library work in the Dynamic Language Runtime.

Update:In the comments, Charlie Nutter pointed out that the conformance numbers really only apply if we're using the Ruby.net runtime components. Strictly speaking, that's true. But the real issue here is that we do have a highly conformant codebase that we can look at to help guide us in our DLR-based implementation. I hope this helps to clarify things.

TrackBack

TrackBack URL for this entry:
http://www.typepad.com/services/trackback/6a00d834fc885d53ef00df351feab68834

Listed below are links to weblogs that reference IronRuby and Ruby.Net:

Comments

What about the rest of Ruby.NET? Parsing is hard, but it's not the hardest part of getting Ruby running. The quote you posted was about Ruby.NET actually running code. I think those numbers aren't really applicable if you're not using the Ruby.NET runtime and core classes too. Perhaps I'm wrong?

Hey John!

Please, can you comment about http://ola-bini.blogspot.com/2007/06/there-can-be-only-one-tale-about-ruby.html ?

Esoecially on following sentence:

"I am going to make a bold statement here. Under the current circumstances, I don't believe it's possible for John Lam and his team to create a Ruby implementation that runs Rails within at least 18 months. And frankly, that's not soon enough."

thank you,
Michael.

Many thanks, John.
Your post is very helpful and clarified the relationship between Ruby.NET and IronRuby.

@Charles: answered via an update on the post

@Michael: I hope it won't take that long, but I'm pretty lousy at predicting the future :)

Can you clarify what the relationship of IronRuby and Ruby.NET is moving forward?

Looking at the two source bases, it's obvious the different approach taken at the runtime level. Are you guys actively integrating their ideas and approach?

I guess the meta question: is the DLR being built in a vacuum, or with active community engagement?

@James:

We're using the scanner / parser from IronRuby right now, but we're in the process of refactoring some of that code to take advantage of some investments that we've made in building high performance tokenizers.

We are wildly divergent when you look at what's happening in the runtime layer. The deferred compilation model of the DLR is fundamentally different from their runtime model, so there's not much being done there.

As for the community engagement question - we're actively working on figuring something out. We'll have more to say on that before we ship code at OSCON on July 23.

Hi,

Do I need to learn only Ruby OR ( Ruby + C# ) to take the addvantage of IronRuby.

Will Ruby developers work straight away with IronRuby, without any C# or VB.Net Knowledge.

Can you kindly blog Few PreRequisites, so that ruby dvelopers can get prepared to work with IronRuby hen released.

I am just confused, can any one guide me. Plus... where can i read regular progress on IronRuby.

Once i start working with IronRuby, will i get more advantage than RubyonRails or Less Advantages..?

Thanks

@SoftMind:

Knowing Ruby is important, of course, but knowing C# doesn't hurt since one of the major advantages of IronRuby is interop with the .NET Framework.

Regular progress reports on IronRuby will appear here. Once we go public with our source repository on July 23, you can track progress via check-ins.

Hello John,

This few questions are most important for me for IronRuby.

(1) PreRequiremts for IronRuby
(2) will i be able to work with LINQ.
(3) Can I use Visual Web Developer as an IDE for IronRuby.
(4) Can i also take rails advantage with IronRuby

This questions really trouble me and perhaps others too.

Can yoiu come with quick answers

@WebReservoir, I can take a stab at your questions.

1) I believe all you'll need is CLR 2.0 or Silverlight 1.1.
2) LINQ will be in Silverlight, so we should be able to call the LINQ bits, but I don't think anyone has talked about how the code would look. Perhaps this is an opportunity for someone to write a great Ruby library to take advantage of LINQ.
3) John has said that there will be Visual Studio support for IronRuby in the future, so I would assume that would include the future Express SKUs.
4) John has stated (correctly) that if IronRuby does not run Rails then IronRuby loses much credibility in the Ruby community. That said, I'm not sure if Microsoft will be supporting Rails or not. But I suspect that we will be able to use Rails with IronRuby similar to how we can use Rails with JRuby today.

You can hear my conversation with John about some of these subjects here:

http://rubiverse.com/podcasts/1-john-lam-on-ironruby

Verify your Comment

Previewing your Comment

This is only a preview. Your comment has not yet been posted.

Working...
Your comment could not be posted. Error type:
Your comment has been posted. Post another comment

The letters and numbers you entered did not match the image. Please try again.

As a final step before posting your comment, enter the letters and numbers you see in the image below. This prevents automated programs from posting comments.

Having trouble reading this image? View an alternate.

Working...

Post a comment

Photos

  • www.flickr.com
    This is a Flickr badge showing public photos from John Lam. Make your own badge here.

May 2009

Sun Mon Tue Wed Thu Fri Sat
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            
Blog powered by TypePad