…it’s home for work I know.
Oh dear. Bear with me, there is a theme to this.
I cut my teeth on VB6 and VB.Net, so I grew up with Visual Studio. Coding outside of an IDE (integrated development environment) was relatively unknown to me. I did occasionally edit batch files in a text editor; but almost everything else was done in the IDE. You might say I was institutionalized in the IDE paradigm; and I thought Visual Studio was pretty swell.
However, when I moved into Java, and began using IDEs like Netbeans and IntelliJ IDEA, I had a bit of a surprise. I could not believe the vast amounts of additional functionality these IDEs provided over Visual Studio, despite being a fraction of the price (and in the case of Netbeans, free!). In fact, when I went back to managing a C# team, I bought everyone licences for ReSharper (by JetBrains, who make IDEA) to add the functionality into Visual Studio that I’d become so used to having when coding in Java! But that’s a different story.
So, when I started with Ruby, I wanted an IDE. I’ve never been one for command-line programming or writing code in a text editor. I know some developers prefer it and think it’s more hardcode; they’re probably right; but I prefer the path of least resistance.
I want an IDE that provides dropdowns and dialogues for running command-line tools, with auto-completes so I don’t have to remember everything. I want an integrated console, log window, database view and integrated source control. I want to be able to debug my code line-by-line; and not always because there’s a bug; sometimes I just want to step through each line as it runs so I can understand how it works. I want intelligent shortcuts so that I can bounce between files and go straight to class and method definitions.
A good IDE is like having an expert developer with you at all times, quietly and unobtrusively whispering advice in your ear, highlighting mistakes and reformatting code. An expert developer who is also an exceptional manservant; ready at your side with your car keys, the very moment you realize you need to drive somewhere.
And when you are learning a language or a framework from scratch, having your own personal expert/manservant is invaluable.
So, which IDE to pick?
I’ve always coded in dark text on a white background. It’s what I’m used to. I can’t get on with coloured text on a black background, which seems popular in the Ruby community. I’ve tried it, it just makes me grumpy. So one of my first criteria was an IDE that had a built-in (preferably default) theme with dark text on a white background.
The first one I found that met that criteria was RubyMine. By happy coincidence, RubyMine is also by JetBrains, so I was confident that it would be a solid product and similar to IDEA, which I’d used extensively. I was not disappointed.
I have been using RubyMine for just over a month. I can’t speak for it being the best Ruby IDE; it’s the only one I’ve tried; but it certainly provides everything I wanted and much more. It isn’t open source, or free, but I’ve made back the £51 licence fee in time saved several times over already it feels.
Oh, and the theme? If I haven’t made you too sleepy, you hopefully spotted it.