Ask HN: Should I learn (E)Lisp before switching to Emacs?
Hello,
I mean switch for good, to get most out of it down the road. I know there are tutorials and guides out there, but after trying a few more advanced I see some "weird syntax" which my understanding is the Lisp part of it. So, perhaps "getting" Lisp 1st would make the transition worth it more.
Thank you in advance.
11 comments
[ 2.9 ms ] story [ 37.1 ms ] threadMy only extensive use of eLisp was a three/four week project I did in eLisp in order to learn it. Sometimes I will use ielm (interactive eLisp mode) REPL but usually I am running an another language's interpreter under Emacs and that's the language at the front of my brain.
While eLisp is a great tool, most of the existing tooling is much more mature and stable than anything I might write. And there are good tutorials on the things I am most likely to write such as a mode for some obscure language (but a language has to be pretty obscure not to already have a mode in Emacs). Good luck.
On the other hand...there's a lot more to learning Lisp than that. It's just like any other programming language...it takes a non-trivial number of months.
But you can use Emacs without knowing any Lisp at all. And the basic syntax of (func arg1 arg2 ... argN) gets you a long way. If you get the basic idea of quoting, you can probably parse all the code in just about any .emacs file.
The hard part of Lisp is understanding all the implications and possibilities of quoting and applying them to abstract away complexity in a problem domain...your .emacs file won't need to do that because the relevant complexities are already abstracted away by the Emacs system as shipped.
https://learnxinyminutes.com/docs/elisp/
You'll probably learn it well enough after you'll start tweaking your configuration file, and the best environment to do that is actually Emacs itself: the scratch buffer will start out in lisp-interaction mode, which means that you can execute elisp snippets with C-j, and being into Emacs also means that the documentation of the various functions and variables is just a C-h f/C-h v away.
However, when you want to do more advance configuration (e.g. write your own feature), you will need to learn more about Emacs lisp and Emacs’s API.