Skip to content

Recent Articles

7
Aug

Whither IronRuby?

Everyone involved with programming in ruby and/or Microsoft platforms has doubtless read the posting by Jimmy Schementi yesterday (Friday, August 6th, 2010). There has been a lot posted on twitter about it, including by me. I even dragged MacRuby into the mix and had to explain myself to Mr. MacRuby himself, Laurent Sansonetti (@lrz). He and Jay O’Conor (@joconor) managed to talk me down from the MacRuby ledge for now… but more on that later.

I am less optimistic about IronRuby. IronRuby, if you don’t know, is a ruby implementation on Microsoft’s .Net platform. Don’t get me wrong, after reading Jimmy’s posting I don’t think that IronRuby is dead. It may be effectively dead at Microsoft but it will live on in the open-source world. Such projects never really die. A core of devotees will keep it alive. It could even flourish. But at this point it is much less likely that it will have an impact on my development, which is disappointing. I’m just being honest. When do I do development on Microsoft platforms? I do it when a client has that as a requirement. When there is such a requirement it’s because they have chosen the Microsoft stack. They want a Microsoft OS. They want .Net. They want Microsoft tools. They *do not* then want to go off in the weeds of some of some, in their view, alternative language. They don’t want me dragging in lisp or clojure or some other language that isn’t approved or somehow blessed, if not supported, by Microsoft. IronRuby looks like it’s heading down an even worse path… a project that was once a Microsoft project that is now being shelved. It’ll become an officially disapproved of choice in the eyes of many clients.

I don’t choose products or languages because they’re cool or trendy or have some cachet. I also don’t choose them because they happen to be (or not be) open-source. They are tools and I choose them if they work, are fit for the given job and because I am either obligated to or enjoy working with them. When I’m not working on a project with requirements that obligate me to follow the Microsoft path, I’m usually going to be working on Mac or Linux, depending upon the nature of the project. So IronRuby seems to be receding fast from the lineup of options available to me, regardless of how it may flourish in the open-source world apart from Microsoft. Now, I am working on some projects of my own that I intend to be marketing, and at least one of them will be implemented on both Mac OS X and Windows. Perhaps IronRuby will find a place in that project. But while I enjoy developing with ruby, I will not force it if it’s not a natural fit.

This brings me back to MacRuby, Apple’s implementation of ruby on top of the Objective-C runtime on OS X, which integrates it incredibly well with Cocoa. I opined on twitter that MacRuby was starting to give me the same worries because of Apple’s lack of any stated direction, purpose or commitment to MacRuby. Will it be a supported, first class language for development alongside Objective-C? Will it be a future replacement for Objective-C? Is it just a cool toy? Is it a small group of Apple devs’ 20% project that may live or die for all Apple cares… so long as it doesn’t cost them any real money? Without some guidance will any indie developers take the risk of picking it up to build a major project with? @lrz and @joconor convinced me that it’s too young to give up on yet. But that also means its too young (for me, at least) to pick up and use for product development that I’m going to have to support. It’s a young and very cool project with a lot of promise, and I’ll continue following it and playing with it to learn it and stay on top of it. But its still a wait-and-see game there. And Apple is tight-lipped about everything. They don’t provide any guidance to developers until their products are done and ready for whatever purposes they have in mind for them. This can be used powerfully to their advantage but sometimes it can hurt a project. The lack of guidance here may greatly slow acceptance and adoption of MacRuby… in my humble opinion. But I’m no Steve Jobs so take what I say with the appropriate amount of salt. But if you like ruby and you like Cocoa, check out MacRuby. Showing enough interest is probably the best way to ensure that MacRuby doesn’t end up the way IronRuby appears to be.

No Comments Yet