IronRuby and Rails
IronRuby dispatched some simple requests through an unmodified copy of Rails a few days ago. Today, we’re going to show off our progress live at RailsConf. This is an important milestone for IronRuby; it’s our ‘ticket to entry’ to the world of alternative Ruby implementations.
We started our work on IronRuby back in February 2007. Now, just 15 months later, we’ve reached what others are calling the “Rails Singularity”. A few folks claimed that we would never get here this quickly, or that we wouldn’t be allowed to accomplish this goal. But we did it on our own, in our own way and with help from our community. And we’re just getting started.
I have always maintained that you must judge us based on our actions and not our words. Running Rails shows that we are serious when we say that we are going to create a Ruby that runs real Ruby programs. And there isn’t any a more real Ruby program than Rails. This demonstrates that we’re true to the language, and that we’ve put compatibility above all else on our TODO lists.
But we have a lot more work to do.
Our performance is nowhere near where we expect it to be, particularly in startup of a large application like Rails. We are consuming much more memory than we would like to. But this is the price you pay when you put compatibility ahead of all other work. We’ve shown that we are willing to do what it takes to run Rails. Now we have to do the work to make it run better, and faster.
But there are other things to talk about as well.
IronRuby doesn’t just let you run Rails; it lets you interact with the rich set of libraries provided by .NET. You’ll be able to use IronRuby to build server-based applications that run on top of ASP.NET or ASP.NET MVC. You’ll be able to use IronRuby to build client applications that run on top of WPF or Silverlight. You’ll be able to use IronRuby to test, build and deploy your .NET applications. You’ll be able to run Ruby code in your web browser and have it talk to your Ruby code on your web server. That’s a feature that we feel that many folks will enjoy.
Perhaps even more important than all of this technical stuff is what the IronRuby project represents at Microsoft. IronRuby has pioneered a number of new processes that make it easier for other folks at the company to build and release Open Source products. What we learn from building IronRuby will be applied in other product groups to help us become more open and transparent than we have been in the past. We have a great leadership team that is willing to push the envelope on openness and transparency to create a world where both Microsoft and our customers can benefit.
Come join our project on Rubyforge and help us show everyone how it’s done!



Congrats! You and the team continue to impress! Keep up the great work.
Posted by: Steve | May 30, 2008 at 06:20 AM
Woohoo! Congratulations! Wish I could see you guys at RailsConf, but I'm missing out ...
Posted by: Casper Fabricius | May 30, 2008 at 06:36 AM
This is really awesome John! Congratualtions.
>IronRuby has pioneered a number of new processes that make it easier for other folks at the company to build and release Open Source products.
You should blog about this. I am sure the OSS community would like to understand this aspect of Microsoft. Who better then from someone in the trenches.
Posted by: Joe Ocampo | May 30, 2008 at 06:45 AM
So sweet! Congrats. Can't wait to see what's next. Rails + .NET is total hotness IMHO.
Posted by: Brian Donahue | May 30, 2008 at 06:53 AM
Congratulations.
I was always waiting for this day to come and finally my christmas gift has arrived in the shape of IronRuby.
SoftMind Technology
Posted by: SoftMind | May 30, 2008 at 07:21 AM
That's good to hear. Thanks a lot to you guys and Microsoft for supporting Ruby as well as we can dream of.
Microsoft more than most companies understands programming, and there are numerous shades of programming, of which Ruby is just one more. It's quite humble of Microsoft to take these baby steps towards a greater good.
Posted by: Joao Pedrosa | May 30, 2008 at 09:19 AM
Wow. That is truly amazing. You guys are doing an amazing job.
I can't wait for a day when I can deploy my Rails apps to IIS 7 and MS Sql 2008. That would be a great day.
Thank you from all of us.
Posted by: Sasha Sydoruk | May 30, 2008 at 09:46 AM
Great, great, great work!!! Congratulations!
Posted by: Davide Zordan | May 30, 2008 at 01:28 PM
Congrat!
Posted by: deman | May 30, 2008 at 05:05 PM
This is fantastic news! Awesome work!
Posted by: Myles Eftos | May 30, 2008 at 06:18 PM
That is just super awesome!
Posted by: Mohammad Azam | May 30, 2008 at 07:26 PM
Congratulations! IronRuby is a fantastic project, and it's great to see the progress you guys have made.
Posted by: Nate Kohari | May 30, 2008 at 07:39 PM
Thanks for the nice comments everyone! We still have a long way to go, but we'll get there!
Posted by: John Lam | May 30, 2008 at 10:34 PM
I'm very excited about being able to write web applications that can be deployed to native Ruby, Java, and .NET.
Thanks for helping us get one step closer to that goal.
Posted by: Matt Giacomini | May 30, 2008 at 11:15 PM
It is really awesome...
I never expect IronRuby can be run on Rail that early coz base on previous status, IronRuby still fails on a lot of the specs. I check the IronRuby forum, there were a lots of code review and I can see the IronRuby progress very well recently.
I hope I can run my ruby app with IronRuby on WPF later in this year.(my current app run with gnome)
Posted by: sgwong | May 31, 2008 at 12:46 AM
Congratulations John!
This is a big milestone for both Microsoft and the project. I wasn't expecting this accomplishment so early and I'm pleasantly surprised.
As you may already know, I started writing a book for Wrox, called 'Ruby on Rails for Microsoft Developers'. It will come out in December and while it's not going to be a book on IronRuby, that topic will definitely be discussed, given the current progress of your project.
In particular, I'll cover IronRuby in the chapter on Rails and the Enterprise, in which I'll discuss IronRuby as a means for .NET interoperability and an easy way of adopting Rails in an existing .NET environment.
I'm sure that my prospective readers, mainly .NET people who're interested in Rails, will give IronRuby a serious chance.
Can you disclose, even privately, what you'd like to accomplish with the project by December?
Cheers,
Antonio
Posted by: Antonio Cangiano | May 31, 2008 at 01:24 AM
IronRuby Boots and:
It eats memory and sucks at performance like everything .NET does.
When does MS ever learn..
Posted by: 9tir | May 31, 2008 at 02:09 AM
9tir, it is not fair to complain IronRuby consumes memory, yes it does but you have to remember, it is in very early development. I am sure John and team with improve the performance and memory leak issue. I have a very strong feeling on this. How many of the people even expect it to be in this great shape by now. Without John and teams hard work it wouldn't be even here.
I am sorry but have a faith in the team.
Posted by: Unni | May 31, 2008 at 08:18 AM
While it's cute and all that you're making a ruby of your very own for windows, only some kind of moron would ever use it.
The commenter above wishing for the day he can deploy a rails all to IIS is one of those morons. Who the hell wants to do some stupid shit like that? Who the hell would use IIS for anything at all? Clueless "enterprise" types and know-nothing tech support monkeys who can't do anything without a wizard helping them out ...
Just go home, microsoft. Yeah I know, you're doing your best to be so young and cool - but just go away, seriously. Ruby is UNIX. Ruby is open source. You are incompatible with these two concepts. You are unwelcome. And you, John Lam? You're a young stooge too stupid to know better. Hope you realise you're wasting your life sooner rather than later. How satisfying can busting your ass to put another few million in Ballmer's already-bulging wallet be?
Get lost, Microsoft - you're the antithesis of everything the ruby community is about. IronRuby is like the Zune of ruby implementations. Hint: J Allard is not cool, and neither are you.
Posted by: hk | May 31, 2008 at 10:04 AM
hk, wow you really hate the fact that Microsoft is coming within a million miles of Ruby. It must eat at you. It must make you rage hard that they can run Rails. After all Microsoft is evil.
Those of us that aren't 12 years old love it when guys like you have a fit like this...pure entertainment.
Keep up the good work!
Posted by: rob | May 31, 2008 at 12:16 PM
hk: Unbridled passion and ignorance really don't go well together. It's not worth my time to tear a stupid little twit like you you apart.
Congrats to the IR team, going to try trunk on OSX+mono today and see what shakes.
Keep up the good work!
Posted by: chris | May 31, 2008 at 12:40 PM
Congratulations, John, this is a great milestone. Making compatibility with Rails a high priority was a wise decision.
"Premature optimization is the root of all evil."
- Knuth, Hoare, Dijkstra, others
Posted by: Doug | May 31, 2008 at 01:45 PM
@chris - hang on until later this weekend before trying trunk. We did a lot of work in the last day to get ActiveRecord to work and haven't pushed those updates to SVN yet. We have to run those changes through our checkin troll and I've got super-spotty connectivity here at RailsConf.
Posted by: John Lam | May 31, 2008 at 05:18 PM
Wow! Simply amazing!
I saw your tweet a few days ago, congratulations on this great milestone John, the IronRuby team and the DLR hackers!
Miguel.
Posted by: Miguel de Icaza | May 31, 2008 at 08:55 PM