(source: flickr)

Growing Pains - Why Rubymine is better than Emacs or Vim

Previously I discussed how to optimise how you’re storing data in your brain. With that in mind, here’s why RubyMine is my editor of choice (much to the chagrin of the carwow devs).

It’s familiar

I started my career with Java, and intelliJ was my editor of choice. A short stint with C# and using ReSharper cemented my familiarity with the IDE. The style and the shortcuts were imprinted on my brain and are now a part of my muscle memory.

I spend far less time coding than I used to. When I do, do I want to spend time frustratedly trying to unlearn and learn a new tool? Or do I want to use something that feels natural and has the least mental overhead? (answer -the latter)

Code navigation

This is now quite common in most editors, but when I first started using RubyMine, the ability to jump around the codebase, in and out of method/class calls and into tests was magical. Even more impressive was the ability to jump straight into the gems and see the source.

Refactoring support

Yes I know other editors now offer similar, and yes I know being a dynamic language it’s flaky at the best of times, but again it’s familiar and still saves me significant amounts of time for simple changes

Low barrier to entry

This, combined with point 1 (familiarity) is the biggest reason in my eyes. Whenever I attempt to pair with someone using Vim (with added custom bindings) I feel, and most probably look, like an idiot. Most of the time I’m relegated to being a backseat driver. RubyMine can be picked up (in my opinion) a lot easier. Even without knowledge of any shortcuts, you can navigate with your mouse (eeks) and get by just fine using it like any traditional text editor. This means anyone can jump on and pair with me.

tl;dr

The best editor is the one you’re most comfortable with, but also the one that doesn’t exclude people from being able to work with you :)