Respect for the classics
November 18, 2012
There are a few things that programmers have pretty much solved. It’s certainly not everything (e.g. here), but we know that there are certain things computers are really good at, and we’ve figured out what some of those things are.
One of those things is writing text editors for programmers. A virtuous programmer has the foresight to make the tools that will make her life easier. That includes compilers for abstraction, static code analysis tools to tell colleagues their code sucks, and editors that make the code easier to work with, that have features like syntax highlighting, spell checking, find & replace, etc. These are things that, some pretty awesome programmers got right early on, because they needed to. Because coding was harder back then.
With all this in mind, I’m having a crack at using Vim for personal (i.e. not professional yet) editing.
There are a few reasons for doing this now. One is so that I feel qualified to have an opinion in the One True Editor debate. Because if you want a sure-fire way to start a discussion in a room full of Linux/UNIX nerds, asking “vi or emacs?” is a good one. And if one doesn’t have an opinion on this important political issue, I get the feeling one shouldn’t expect to be taken seriously.
There’s also the fact that Vim is one of the few editors that’s available for Windows, Linux and OSX, all of which I use at least a few times a week.
Another reason is that I’m currently using an IDE where I don’t really need one, and it’s starting to bug me. There is one (large) area of my day job that really requires an IDE - there’s quite a bit of not-very-well-organised code, and without one I’d be wasting far too much time trying to figure out where anything is. But there’s another part where the IDE actually feels like it’s… well, coddling me. Letting me get away with less knowledge of the tools I’m using than I would otherwise be able to. My best example at present involves rebasing with Git. If you ask me to do it with the help of my IDE, I’d be delighted. But if you ask me to use just a command line, then I’ll have to spend some time on Google first to make sure I’m doing it right. And I can’t blame my IDE for that - it’s my fault that my knowledge is lacking (and I plan to remedy this deficit soon), but I notice the pattern that comes up when I use an IDE - particularly when it would be easy for me to use a terminal for most of what the IDE is doing for me.
There are also small elements of “it’ll make me more hardcore”, “respect the classics” and the fact that folks I respect and admire use Vim and have suggested it to me. And probably a few other small reasons in there too, which I haven’t spent so much time trying to identify.
I’m following the advice of those who advocate gradual change, and I’m using Vim at home before I start using it at work, the idea being that this switch won’t have to cost my employer too much. I also have yet to try coding in Vim - this blog post is as advanced as I’ve got so far.
I should also mention that I’m really not writing this because I think you’ll care about my choice of editor. It’s for practice.
We will see how this goes.