A little over six months ago, I took a few minutes to consider the future of Ruby within mainstream enterprises. Despite my conclusion there – that Ruby deserved the accolades it was getting but wasn’t quite ready for (conservative) corporate use – I’ve been watching the language closely. Since that time, I’ve taken the time to dabble a bit in the language myself, and agitate in support of it in conversations with some of our customers. Why? Because of numbers like this.
So while I’ll leave a Keynesian reconsideration of the place of Ruby for another time, it is worth mentioning that I’ve been spending a fair amount of time looking at and discussing the opportunities around Ruby with enterprises and vendors alike. Part of that equation is looking for progress in making the language more of a first class citizen with some of the long time enterprise infrastructure pieces, but I’ve also been curious about the tools availble for Ruby.
As I told one vendor just yesterday, unlike languages such as C# (Visual Studio) or Java (Eclipse), there isn’t in my view a clear market leader for the language behind the increasingly popular Rails framework (be interested to know what you’re using these days, Peter). There are numerous commercial options available – with ActiveState (Komodo), Scriptolutions (Arachno), and SlickEdit (upcoming in Version 11) – to augment a limited but growing number of free options. These range from simple emacs scripts to a nifty little Eclipse plugin.
While Eclipse is not traditionally thought of as a first option for dynamic language programmers – whether it because of the overhead of running a JVM or the perception that Eclipse is Java-only (it’s not) – I was quite pleased with the Ruby Development Tools add-in for the platform (see inset pic). Thanks to Eclipse’s Portage like Update Manager, one has only to add the RDT site into the system, click a couple of boxes and it’s installed and running. After that, you need only to tell Eclipse where your Ruby interpreter is located, and you’re ready to develop. The combination of Eclipse and RDT was able to seamlessly import the folder of toy programs created during these tutorials, and run them flawlessly. Nothing extraordinary there, but it beats the basic text editor approach I had been using.
A couple of takeaways from the above exercise:
- Eclipse is Pretty Snappy:
As I mention briefly above and one Eclipse oriented vendor admitted this morning, the issue in pitching Eclipse towards some types of developers – i.e. Ajax or Ruby advocates – is the overhead. Most of these folks are used to working with something less complex than a fully-featured Java IDE, and get concerned that Eclipse may be overkill. I can’t speak to that full time, but I can tell you that on my very modest hardware (IBM Thinkpad x40, 1.4GHz, 1.5GB RAM), Eclipse is quite responsive.
- Update Manager System:
Eclipse is far from the only development tool with such a feature – and it’s far from new, but I can’t tell you how nice it is to be able to manage your plugins and additions via the IDE itself (this is particularly true as the user of a Linux distro that provides a similar capability). No longer is it necessary to download and untar a package, drop it in the appropriate directory, and remind the application to recognize its presence: it’s a couple of clicks and you’re done.
- Ruby Development in Eclipse is Definitely Possible:
I can’t speak to the distance between the RDT and its commercial competitors, either because I haven’t spent enough time with them or I just haven’t seen them yet, but with respect to simplistic Ruby development – code, test, debug – I see no reason that you couldn’t be productive in this environment. It’s not going to do for you what Eclipse might for Java development, but it covers at least the basics.
In any event, it’s good to see the infrastucture and tooling options available for Ruby reflect the language’s growing popularity. Maybe the Ruby slipper will fit sooner than I expected.
 1. Help: Software Updates: Find and Install
2. Select “Search for new features to install”
3. Select “Add Update Site” and add “http://updatesite.rubypeople.org/release”