As I am still in the elementary stages of learning Ruby on Rails, my contributions to this blog will be limited to helpful resources for beginners until I am able to share substantial Rails posts. By sharing the failures I encountered along the learning process and how I could have avoided them will hopefully save others from discovering valuable information the hard way. One of these pieces of information is the topic of today's post and is somewhat of a heated debate amongst developers: text editors. (Disclaimer: if you are using Windows or Linux, I'm not sure how useful the following information will be as I don't have a lot of experience with any robust text editors on those platforms. If you are on Mac OS X however, read on.)
From what I've seen, most seasoned developers have customized and fine-tuned their development environment for maximum efficiency. They are wizards with short-cuts and use the command/option/control/shift keys to navigate and manipulate the code they are working on. The combinations of those keys and shortcuts can eliminate the need for a mouse completely when developing. The time saved might seem very small while using these shortcuts, but the more important theme is that you're working smarter. Working smarter is something I have been focusing a lot on recently because as my workload increases, the room for sloppy mistakes decreases. A smart worker can outperform a very hard worker in a lot less time and it's all because of one thing - always do it right from the start.
So what does this have to do with text editors? Well at my new job with thredUP, the text editor of choice is TextMate. Don't let their simple website fool you, it's a much sexier product than it appears. Back in the day, I used the infamous Dreamweaver for web development. I'll save you some time, don't buy it. It's expensive, clunky and built more for a designer more so than a developer. I needed something faster, so I went out and bought Espresso. Espresso is $89 (over $300 less than Dreamweaver) and made by the MacRabbit team. If you like to edit server-side and usually work on small, design-oriented websites, Espresso is a great product for you. I still needed more, so I moved to Coda next. Coda was a step in the right direction for me and there is a very good case to be made if someone wanted to argue that Coda is the best editor for a Mac. $99 price tag, built-in FTP capabilities, great server-side/local searching, in tab terminals, and a decent collection of add-ons make Coda a viable option. I actually did a trial of Coda and TextMate at the same time and chose Coda after my initial trial period ended. However, TextMate won out in the long run.
The out of the box TextMate application is underwhelming; however, the power of TextMate lies within the ability to add custom-made bundles that optimize your coding experience. TextMate is a blank canvas for developers to create a personalized development environment that is unique to your preferences, technical stack, and any 3rd-party products you also use that can be integrated with. The bundles are amazing. For example, if I wanted to define a method in Rails, I could type 'def [tab key]' and my Rails TextMate bundle would properly define and close a method. That's not that impressive, right? Well if I wanted to write a new controller, I could open a file and type 'cla[tab key]' and options would be presented to me about how I wanted to define the class. I select one of them and BAM, the entire controller structure appears out of nowhere. This saves time. You can do all of this in models, views, cucumber tests, rspec definitions and the list goes on. This doesn't apply just to Rails, TextMate has bundles for most programming languages. Textmate has a free trial, I suggest you check it out and start learning your way around a text editor from the beginning.
Here are some more resources:
- TextMate Syntax Highlight Themes
- TextMate Bundles
- TextMate for Rails Peepcode Videocast
- TextMate Rails Short-cut Cheat Sheet
Front-End Developer and Ruby on Rails Newbie