You should consider EMACS not as an editor, but rather as a bytecode...
interpreter. In a way, this makes it a platform (like Java or the
EMACS is insanely powerful. I spend most of my "productive" time in
EMACS. Some of the things I use it for: