Computing technology is a field with an unhealthy obsession with novelty. This is particularly true of the things that developers use to create technology - new tools, languages and frameworks arrive on a daily basis, faster than anyone could hope to keep up. In this febrile atmosphere, it might seem odd that one of the most important tools in my digital life - one that I use heavily, every day - is three decades old.
GNU Emacs was first released to the public on the 20th of March 1985, thirty years ago as I write this. For the uninitiated, it’s a text editor. Neal Stephenson, in the excellent In The Beginning There Was The Command Line, elaborates:
I use emacs, which might be thought of as a thermonuclear word processor. It was created by Richard Stallman; enough said. It is written in Lisp, which is the only computer language that is beautiful. It is colossal, and yet it only edits straight ASCII text files, which is to say, no fonts, no boldface, no underlining. In other words, the engineer-hours that, in the case of Microsoft Word, were devoted to features like mail merge, and the ability to embed feature-length motion pictures in corporate memoranda, were, in the case of emacs, focused with maniacal intensity on the deceptively simple-seeming problem of editing text. If you are a professional writer–i.e., if someone else is getting paid to worry about how your words are formatted and printed–emacs outshines all other editing software in approximately the same way that the noonday sun does the stars. It is not just bigger and brighter; it simply makes everything else vanish.
In truth, Emacs doesn’t only edit text - it can do everything from reading email to playing games - but text editing is the lens through which it view these tasks. This dovetails nicely with the Unix philosophy of using streams and files of text to communicate between disparate programs. For me, it is this that makes it such an enduringly useful tool. The time I’ve invested in learning to use it - seventeen years and counting - can be applied not just to obvious things like editing program text and notes, but for almost anything else that can be framed in terms of text. Combined with a robust editing feature set honed of thirty years of widespread use, it’s a hard combination to beat.
Will it hold this vaunted position forever? It seems unlikely. Emacs’ aging foundation has been showing for a while (every time the whole lot freezes because a network operation gets confused, for example). New pretenders to the throne - LightTable and Atom being two recent examples that seem to have the right idea - keep popping up to tempt me away. However, every time I try one of these young bucks, they seem thin and incomplete compared to the rough but capable workhorse I’m leaving behind. There’s plenty of life in the old dog yet.