Saurabh Kukade is planning a series on configuring Emacs. His introductory post discusses why he thinks Emacs is so cool. Most bloggers who write about Emacs end up posting something like that, of course, but I always enjoy reading why others find the Emacs experience a good fit for them.
Kukade starts off by observing that Emacs was first released in 1976 so it’s 43 years old. Even if you limit yourself to GNU Emacs, it’s been around 34 years. Some folks describe that disparagingly as meaning that Emacs is old and used only by gray beards. It’s not true, of course, that only gray beards use Emacs but I think the characterization is wrong in a more fundamental way: Emacs has undergone 43 years of steady improvement and refinement making it a finely honed tool that outperforms its competitors.
The next thing Kukade calls out is Emacs’ use of Lisp. That has two big advantages. First, it means that any user who bothers to learn Elisp can get at the core editing routines and change them on-the-fly to suit themselves. This is partly what I mean when I say that Emacs is a sort of light-weight Lisp Machine. Secondly, Kukade says, Lisp is the ideal language for implementing text editing. Its primitives make handling text much easier than in most other languages.
The use of Lisp is, in large part, what makes Emacs so configurable. Not only can users modify the built-in functions, they can write their own functions to do special tasks. In Emacs, this has lead to the incredibly rich package system with hundreds of user-written packages that either improve on a core functionality or provide a completely new one.
Finally, of course, there is Org mode. As Kukade points out, many people have learned and adopted Emacs just to get access to Org mode. Many of those people later say, “I came for Org-mode but stayed for the incredible editing experience.”
Emacs is a big and complex system and all of us have taken the time and trouble to learn it for our own reasons. I always enjoy hearing why other people put in that effort.