Ruby IDE

One of the concerns I had approaching Ruby was the apparent lack of an IDE. I see that Tim Bray expects there to be an IDE, too–among other things.

There appear to be several takes on the state of Ruby development environments. For example:

  • Languages like Java and C# have a class of developers that depend on their tools such as IDEs (e.g. Bruce Tates’ assessment in From Java to Ruby: “C# programmers tend to lean on their tools a little harder than others”). Could it be that said developers depend on their tools to make themselves more productive? Answers from this camp tend to argue that the question is moot since Ruby is inherently more productive–why tax the developer’s mind with IDE semantics? (Tim Bray offers several excellent counter-points above to such a response.)
  • Ruby as a dynamic language poses challenges for IDEs that prefer a static typing foundation (e.g. read the comments here)–again, this IDE thing is so over-rated. :-)
  • If you’re willing to marry Ruby with a JVM (JRuby) or marry Ruby with a CLR (e.g. this article references RubyCLR, Ruby.NET, IronRuby), then you may find your Java IDE or Visual Studio more palatable.
  • Text editors like TextMate (MacOS) and Notepad++ (Windows) are good enough for Rubyists, especially when combined with tools like Rake. There is also ActiveState Komodo, or you can give RadRails a spin.

When I develop in Java, I leverage JetBrains IntelliJ IDEA. It looks like the next major release of IntelliJ (6.0) may feature an open source Ruby on Rails plug-in (ref.).

When I develop in C#, I leverage Microsoft Visual Studio. This is the IDE I’m most productive using currently probably due to the fact that I’ve used a version of Visual Studio more than any other IDE in my career thus far.

Since I’m embarking on this Ruby learning first on Windows, I will see how far I can get with Notepad++ initially. On my G5, I’ll probably leverage TextMate for starters.

Update: Later today I stumbled across the Simple Syntax Highlighting plugin for IntelliJ via Jay Fields’ blog and Daniel Lukic’s (plugin author) blog. I’m going to give this plugin a spin first since I have IntelliJ for both Windows and MacOS (i.e. leverage one familiar environment than two new ones).