Hacker News new | ask | show | jobs
by stackghost 6 days ago
>Emacs is first and foremost a Lisp interpreter with a built-in text editor and not the other way around.

I've been using emacs as my primary editor since about 2002 and I hate this take. Emacs Lisp is by far the worst part of emacs. It is a horrible language, best kept dark and deep in the vaults, not to be used, unless at the uttermost end of need.

My config, after more than two decades, is about 400 lines, and I consider that excessive.

3 comments

> Emacs Lisp is by far the worst part of emacs

Say what you want, but I wouldn't trade it for any other (non-homoiconic) language. Sure, it won't win the contest of the "nicest Lisp", nevertheless - it's a Lisp, and therefore far better suited for the things Emacs is designed to do.

Have you ever thought why Org-mode, developed and maintained by a handful of people (perhaps fewer people than the React.js core team has) is capable of carrying features that (despite so many brilliant minds) never appeared in any similar products? Like for example, executable source code blocks in different PLs that can pipe data into one another. Even Jupyter can't do polyglot execution with data passing between the languages. That shit doesn't exist in Neovim, or VSCode (where MSFT poured millions of $), or IntelliJ. It exists because Lisp makes it much simpler to design and build such things.

As someone who's been "using" Emacs just like you (without ever writing much Elisp), and also "properly using" it for a long time and having to see both sides, I can assure you - it's absolutely worthwhile to spend some time grokking Elisp. It's not a horrible language. For what it is - it is incredibly flexible. You just don't know what you're missing.

Some of us like Emacs Lisp fine.

Its documentation (the manual in Info and M-x describe-function, etc) is exceptionally good. I don't need to be connected to the net when I'm writing something in Emacs Lisp. Try that with Javascript!

To each their own, but I don't really understand the sheer hatred elisp puts in some people. As far as scripting languages go, it's pretty good. I haven't seen a scripting language alternative I'd really prefer for this - maybe Clojure or some other modernized lisp.
It's not just Elisp, I think, just any Lisp dialect gets this reaction. Which, honestly, I can't fully comprehend. Wait, how do even people use Emacs while at the same time hating Lisp? Isn't that kind of a painful way to deal with it in general? Sounds like having extreme motion sickness but still loving cars, puking all the way while driving them.
I think there is a crowd, maybe less common than the others, that just want less warts. I can understand that, though I'm not sure the usual dialects that get thrown around are much better.

What I don't understand is wanting to replace elisp with a mainstream scripting language. None of them are really functional-style languages; it's just a completely different world.

(Non-scripting languages are a different story, but fundamentally a different use case.)

> I don't understand is wanting to replace elisp with a mainstream scripting language

That typically comes from people without any experience in any Lisps. They don't know "REPL-driven development", they haven't heard about "structural editing", Lisp looks like a parenthesized mess to them. I looked at it the same way until I learned. Now I don't even notice parens - I see structure, beauty and reason.