Which development editor should I use when developing in Ruby on Rails?
This is an archive of blog post I wrote during my third venture (PullReview).
You've just started to code your first Ruby on Rails application and you're wondering if there isn't a better editor than the one you're using. Maybe you're a beginner and you started with a simple text editor without syntax coloring, or you come from Java world and you use Eclipse, or you're struggled to navigate through your project with Vim.
Then, you start to look for better solution and you find plenty of features comparisons, a lot of discussions, tons of blog posts or other resources, billions of advices or opinions, without mentioning cultural editor war. You can spend a whole week to read all of them without finding the best editor. You just wanted to be more productive, to find the perfect tool right away, to be a master of editing-fu.
Do you remind those screencasts and others videos where a developer he's editing like a wizard, navigating through their project at the speed of light, automatically formatting their code? We'd like to be the same. At the beginning you just wanted a better development editor, at the end you struggle with finding a solution and spend a considerable amount of time without improving your situation. That certainly doesn't pay the bills.
The reason behind that profusion of resources is that there is no perfect solution. The tool doesn't make you, it helps you and it takes time to master as any crafts. It needs also constant learning and practice. Maybe your current editor is good enough, but you should learn more about it. The only way to find a better editor is to try other options and give them an honest try of about 2 solid weeks of coding in each. You'll eventually find a comfortable spot.
I'll give you a simple action plan that I used. There are several good editors with people writing Ruby on Rails application every day (lexicographically ordered): Eclipse/Aptana, Emacs, RubyMine, SublimeText, Textmate, Vim.
- Pick one of those. No idea? pick at random.
- Use it for two week (put a reminder).
- At the end:
- Happy? Enjoyed? Keep it.
- Done.Painful? Repeat.
- Not sure? Continue to use it.
Otherwise, if you use one since a certain time like about one year, it's time to reinforce your mastering: regularly, like every 2 weeks, reads one resource and apply it (a part of the manual, a point in a tutorial, a blog post).
What about trying another one when you use something since a long time? Well you could, it's never bad, but don't do it to escape what you need to do: develop and ship!
If you have any comment, question, or feedback, please share them with me.