A few months back when I met Josh Hallett (of Hyku blog fame) in Orlando, he asked me a question that I hear more and more: “What would you say you do, exactly?” Instead of yelling, “I’m a people person!” like the guy from Office Space, I tried to answer the question by explaining that we cover enterprise software, etc, etc. It’s easy for us in the analysis business to forget – given that we spend a lot of time with entire staffs of people whose mission in life is to deal with us – that lots of people in the tech industry have little to no idea why we exist and what, “exactly,” we do. While answering that question is a topic for another post, I wanted to use it as context for an explanation of why I’m looking at Ruby (if you just want the Ruby reaction, skip the next paragraph).
In many ways, we’re to our clients as the Emerging Technologies group is to IBM. We closely monitor practitioners on the bleeding edge (I’m most interested in the developer audience, while my colleague spends a lot of time with the architects) to get a feel for the tools and technologies employed. What we’re trying to discern ultimately is which pieces will make “The Leap” to the enterprise, if not the mainstream. For people who’ve worked with analyst firms in the past, this may be a bit of a departure, as we’re saying explicitly that we don’t predict the technical path ahead: the practitioners do. We’re not trying to create new product categories, coin new TLAs (ok, there’s COA, but that’s our only one), or articulate our proprietary vision of what the future will look like. We leave that to the folks in the field, on the front lines. Our job, as I see it, is to understand what they tell us and separate the wheat from the chaff.
Which brings us (finally), back to the subject of Ruby. Ruby’s something I’ve been lightly monitoring for a while now – having had my first real encounter with it in the wild after atariboy recommended I look at the Instiki Ruby-based wiki platform. But lately their seems to be a spike in Ruby related chatter, and in some respects it’s no wonder.
Ruby, for the uninitiated, is a dynamic, interpreted, object oriented language that is often compared with Python. Ruby has certainly attracted its fair share of adherents since its 1995 release, but most of the recent commentary has focused on a web application framework for Ruby called Ruby on Rails (RoR). For those of you familiar with Basecamp – the very slick web based project management application – it was the first RoR project.
This framework has really catapulted Ruby into the limelight. Well, the geek’s limelight. Justin Gehtland’s recent project bake off between Java/Hibernate/Spring and Ruby on Rails generated quite a few comments on site as well as the /. conversation it spawned.
So whether it’s Java programmers like Justin looking at Rails, the Mono crowd, or Python folks, there’s been no shortage of talk from competitive communities. Other folks have put in their two cents, including Alex and Byron from SourceLabs and Bruce Perens who called RoR in some pre-briefing commentary at LWE “worth looking at.”
My own take is that it’s too early to have a good idea of what impact and popularity Ruby and the Rails framework will have within the enterprise. To the extent that it’s a compromise – one level of complexity up from PHP and one level (at least) down from Java – it’s likely to be an interesting option for a variety of projects going forward. But with more popular – and in the ballpark functionally – alternatives to compete with, RoR’s going to have to contend with concern about the size of its developer community compared to say, PHP, for quite some time to come. This alone is enough to keep it from official (though not skunkworks) consideration within many an enterprise, although it’s said to be a relatively easy language to pick up and be productive in.
The verdict then? Is it suitable for the enterprise? Not yet. For skunkworks and throwaway projects, I’d say absolutely it’s worth a look based on the generally positive feedback it gets from developers, but it’s definitely not mainstream yet. As a result, I’m going to stick it on my “Watch” list for the time being, and look closely for indications that its developer community is growing.