Hacker Musings and OCD

Why I don’t like Emacs

All those modes and you allow 2. It is completely normal for me to be editing an HTML5 document that is in reality a Jinja2 template that might contain snippets of JavaScript, including new-fangled JS tools like Angular 2 and React.

Despite following dozens of tutorials about hacking together a dozen different major and minor modes and fiddling with hundreds of lines of elisp, I have never once gotten this to work correctly. God forbid one day I went back to something like PHP/Hacklang and that example above got yet another language thrown in.

This isn’t contrived, either. This works for me in Vim, this works for me in the Intellij family, this works for me in Komodo, this works for me in Atom, this works for me in Sublime. It works more-or-less out of the box in everything but Emacs.

I like my cigar but I take it out of my mouth every now and then. Because you can write some-app-client in elisp doesn’t mean that it’s the best at it.

So for example, I wouldn’t give up Tweetbot, which is a far better Twitter client than anything in Emacs, just so I could … I dunno, not command-tab over to Tweetbot? I’m unclear how that’s an onerous burden.

Similarly my email app is just … plain ol’ Gmail. It gets features ahead of IMAP clients, it’s pretty stable and predictable, and work pays for it (we have Apps). It’s one less thing to break. That gives me more time to do my job.

Pretty much everyone will admit `man` is horrible. I tend to read man pages in the browser.

And so on, and so on. I use the best app available for the task. I’m super glad Org Mode works for you. I tend to think it’s not the best tool around.

And so on, and so on.

Do one thing well. I think Emacs – as a creation of GNU, steeped in Lisp Machine tradition – is in fact anti-Unix. It does lots and lots and lots of things. It’s in no way a Unix tool; it’s a Lisp Machine tool someone ported to Unix after the Lisp Machine renaissance faded.

Instead of doing one thing well, it tries to model itself after the MIT AI lab model of thinking, that begat the Lisp machines: be completely programmable.

That’s not a sin per se but to uphold it as somehow Unixy is. vi – and not Vim, which in this regard bears a certain amount of sin as well – is a “proper” Unix text editor. It barely does anything because you can just pipe your file through 86 different command line tools to get the output you want – compiled software, a web page, whatever.