Emacs, often thought of as an editor, can also be thought of as a user environment masquerading as an editor.
The genesis of emacs was a a set of Editor MACroS written at the MIT AI lab for the TECO line editor which ran on the lab's Digital Equipment Corporation computers. Emacs was the reimplementation by Richard Stallman of an AI lab "hack" which created a display editing mode to TECO. Stallman's implementation improved the performance and added a macro capability.
This macro capability, which is implemented in a flavor of the lisp language, is at the core of the emacs philosophy. Macros are used to define how emacs responds to keystrokes. This allows for the various modes within emacs. Modes can tailor emacs to provide programming language specific support. It can also be used to play games, read e-mail, and just about anything you can think of.
The most extreme emacs proponents beleive that they can live in emacs.