Ramin Honary has a six part series of posts that presses the claim that Emacs does, in fact, adhere to the Unix Philosophy that a program should do one thing and do it well. Almost everyone else’s opinion is that that makes no sense at all. Emacs, after all, is famous—or infamous, depending on your sensibilities—for its Borg-like assimilation of any computer task that wanders into its event horizon.
But Honary makes the case that Emacs is not (merely) an editor but should thought of as in Elisp interpreter. In that sense, the one thing it does well is to run Elisp functions. He goes further and claims that Unix and the Bourne shell are really a sort of proto-functional programming.
It’s an interesting post although Honary gets a few historical facts wrong. Philip Kaludercic has a post, Notes on “Emacs fulfills the UNIX Philosophy” that helps fill in the blanks.
None of this really matters, of course. If you use Emacs, you don’t care if it adheres to the Unix Philosophy or not. If you don’t use Emacs, you don’t care if it adheres to the Unix Philosophy or not. Still, it’s an interesting idea and worth discussing for its own sake.
One thing Honary says that I absolutely agree with is that Emacs doesn’t have extensions; it has apps. I’ve objected before to referring to Emacs packages as extensions and saner heads told me to relax. Honary provides a logical reason for my more emotional response.