With the recent "high profile" exit of Jimmy Schementi from Microsoft, IronRuby looks to be in trouble. At least it looks to be in danger of being "put down" from a Microsoft resources perspective. If you’ve been following my blog for a while you’ll know that I am a fan of the Ruby language, and I love the fact that we now have a working Ruby implementation on the .NET platform. It really does give us a great dynamic language to add into our arsenal, and I hear occasionally about IronRuby and IronPython both being used as scripting solutions within .NET applications.
Yep, that’s right. Scripting solutions. You know why? Because if you want to write applications entirely in Ruby or Python, you probably aren’t writing on the Windows platform. Native Ruby runs just fine on Windows. So if you aren’t interoping with .NET code, then why would you run IronRuby? Honestly, there aren’t many good reasons.
Ruby and Windows, BFFs?
So, was Ruby good for the .NET platform? Was it a match made in heaven or hell? I’ve heard many people making comments in both directions. Some making claims that IronRuby was made to bring Ruby programmers to the Microsoft platform, and the other side making claims that it was to keep .NET developers from leaving the Microsoft platform. Somehow I doubt that either of these scenarios is very likely.
IronRuby attracting Ruby developers to the Windows platform? Well, that seems like a snowballs chance in hell. These guys are big Mac/Linux guys who are rabidly allergic to anything with Microsoft’s name on it. I know I am generalizing, but if anyone ever thought that they would get Ruby developers over to the Microsoft platform with IronRuby, they were deluding themselves.
As far as IronRuby keeping Microsoft developers on the Windows platform? Hmmm, that is just as ridiculous. If you want to write full applications in Ruby, and therefore *probably* Ruby on Rails… you are looking at a platform that is entirely built around the Mac/Linux world. Microsoft could spend all the resources they had and never get within sight of Mac/Linux as a first class Ruby on Rails platform. The community support just wouldn’t be there, and in the Ruby and Rails world, the community basically all you have. (And that isn’t a bad thing!)
At the same time I’ve also heard some people say that IronRuby was a gateway to leaving the Microsoft platform. Bah, I don’t buy this for a second. If people leave the Microsoft platform for Ruby or Python, I highly doubt that it was IronRuby or IronPython that pushed them over the edge. It was more likely that they saw another development platform that appealed to the way that they wanted to build software. And if that platform was Ruby or Python, then they realized that they needed to move to a platform that was first class citizen for those languages.
I’m sure it is possible that someone tried IronRuby without ever having heard of Ruby before, and then went on to find Ruby on Rails… but they must not use the internet very often. I think that most .NET developers that have any chance of jumping platforms (and by that I mean they actually WANT TO LEARN) have already heard a ton about Ruby and Rails. They have already explored it and made their own decisions. Ruby and Rails were around for a looooooooooooong time before IronRuby came along.
Nothing Nefarious Going On Here
In the end, it seems to me that Microsoft was doing what it tries its hardest to do. To give .NET developers the tools they need to do their job. I’m not saying that their efforts are always the best, or that they aren’t occasionally misguided, but I think in this case people really are reading a lot more into this than they should. Microsoft implemented IronRuby on the .NET platform, didn’t push it at all, didn’t provide any sort of tool support, didn’t ship it with VS2010, and then when they see that it isn’t going anywhere, they cut resources on the project. Sounds like a classic case of Hanlon’s razor to me.
Oh, and just so I’m clear, I’m a bit pissed off that Microsoft is pulling back its support for IronRuby. But the truth is that if the Microsoft community needs/wants IronRuby, then it will grow as an open source project. If however there isn’t demand on the Microsoft platform for it, then natural selection will claim another victim.