Monday Question: What Is Your Text Editor, and Why?

Monday Questions is a recurring series on Approaching Normal. For more questions like this, please visit the archives

The text editor is the programmer’s main tool. The best programmers I know are masters of their chosen editor, whatever that might be. Knowing how to be productive with your editor can make the difference between a good developer and a great developer.

So today, I’m asking you to share with us what your favorite text editor is and why.

My editor of choice is Emacs. It’s the first “real” editor that I ever bothered to learn well. I started learning it right after reading The Pragmatic Programmer for the first time. I have a love/hate relationship with Emacs. It’s an amazingly powerful editor - there’s very little that it can’t do. Unfortunately, it’s as ugly as they come and a pain to customize. Lisp is cool in the same sense that Latin is cool. Beautiful language, but hardly anyone speaks it. I had hoped that when I made the move to OS X, I would switch to TextMate. I tried it, and even bought the Peepcode screencast on Textmate. In the end though, I couldn’t give up Emacs. It has too many features that I rely on that Textmate just doesn’t have, like split buffer windows and dired mode.

As always, post your answer in the comments below.

Monday Question: What Music Do You Code By?

Monday Questions is a recurring series on Approaching Normal. For more questions like this, please visit the archives

Most people, it seems, listen to music while they work. Whether it’s to aid concentration or drown out their coworkers, I see most people do it. So today’s question is:

What music do you prefer to code/design/whatever by?

I have very diverse musical tastes and listen to just about everything, but I find that lyrics are distracting when I need to concentrate. So I prefer Jazz like Miles Davis and John Coltrane, or classical like Yo Yo Ma when I need to focus.

Monday Question: What Source Code Management System Do You Use, and Why?

Monday Questions is a recurring series on Approaching Normal. For more questions like this, please visit the archives

I’ve been a CVS and SVN user for a number of years. Recently I’ve been watching all of the buzz around distributed SCMs, Git in particular. Git has been adopted by a number of projects lately, Rubinius being the one I noticed most recently. I took down my SVN repository when I moved web hosts, and haven’t put it back up yet. It seems like a good time to switch to Git (or something similar) if there’s a benefit.

So this Monday’s Question is: What Source Code Management System do you prefer, and why?