Monday, November 7, 2011

Why do we argue about text editors?

Google for "emacs vs. vi" and you'll see a torrent of pages that claim that one text editor is superior to another. Supporters of vi will claim that emacs is huge and bloated with unnecessary garbage that's unrelated to editing. Supporters of emacs will claim that vi is just a toy, capable only of the most basic text editing, and falling short whenever a complex task appears.

The waters have gotten muddy, of course. Nowadays, emacs is a fairly small application compared to behemoths like a browser or an IDE like Eclipse. Similarly, there are newer, beefier versions of vi such as vim that provide many of the features that emacs users claimed were essential to emacs's superiority over vi.

So, why do we argue about which is best? Wouldn't it make sense to learn all of the editors out there and then make an informed choice as to which to use in any given environment? Well... yes, but we don't argue about editors for rational reasons, and therefore (much like religion) we can't easily come to rational choices about their use.

I think the problem becomes much clearer if you compare a text editor to a spoken language. Speakers of American English will tell you that "colour" is spelled wrong, but this was a gradual change that occurred over the course of the 18th century, splitting the American and British spellings. Clearly, what we're dealing with is a spelling error that occurred in the United States and then became entrenched. So, why hold onto this error? Why not just normalize the language now, across both regions? Because language isn't used just to communicate. In fact, probably just as important is its use to help distinguish those who are from other subcultures, and thus not immediately trusted as "us".

The same is true for editors. We argue about them because they are the tools we use to communicate our thoughts. The parts of our brains that discern "us" from "them" on the basis of language aren't aware of the idea that we're using our editor to communicate with a non-sentient machine. Those parts of our brain just experience the routine process of turning thoughts into communication. So, when we consider another editor, we immediately recoil because, to part of our brains, that feels an awful lot like becoming a traitor to our people; abandoning the marker that shows which social group we belong to and picking up a new, alien language.

It doesn't matter that none of this actually applies, it's just a quirk of the way we think about communication.

So, the next time you run into someone who tells you that, "emacs sucks, vi rules!" or visa versa, just tell them that they need to spell that "emaucs"...