this post was submitted on 22 Nov 2023
4 points (100.0% liked)
Emacs
311 readers
2 users here now
A community for the timeless and infinitely powerful editor. Want to see what Emacs is capable of?!
Get Emacs
Rules
- Posts should be emacs related
- Be kind please
- Yes, we already know: Google results for "emacs" and "vi" link to each other. We good.
Emacs Resources
Emacs Tutorials
- Beginner’s Guide to Emacs
- Absolute Beginner's Guide to Emacs
- How to Learn Emacs: A Hand-drawn One-pager for Beginners
Useful Emacs configuration files and distributions
Quick pain-saver tip
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I'll start from the last question, to me, if you don't use elisp, don't use emacs. To me this is why I still use it, because there is a lisp machine running under it and everything can be manipulated and configured with elisp. Otherwise there are probably better editors these days. You can obviously use it without elisp, if there's a library or mode that you love and (thanks to the power of elisp) have not found elsewhere, but even that is limited, since you need elisp to configure and manipulate it to fit your use-case the best. And to be honest, copy-pasting stuff without understanding will take you so far and you won't know why things don't work when they do, like with every programming language.
But is lisp worth learning? A definitive yes. As you found out, it's a different animal. Not just the syntax, but the way everything works. It requires you to think differently. I often say that learning new languages mean "how does if/else work, how does for/while works" basically figure out how do all the regular tools for logic and flow control look like in that language and your mostly set, only lisp does not have those "regular tools for logic and flow control". And on top of that, it's based on a wholly different paradigm than what the other languages are based on. It's a hefty task to climb and you must climb it if you want to get to the stuff that is important, like writing stuff that you can run and get results from, and that's before we get to the real insane stuff, the true homoiconicity (here's another word for you) of lisp, the idea that code is data is code, which is truly rare in computing (despite what some fans of other languages will tell you, there are only 2-3 actual homoiconic programming languages and lisp is the most commonly used of them all) and is very hard to wrap your head around.
So is it worth it? yes, for two reasons. Learning languages that use different paradigms always improves your abilities since you now have more ways of thinking about stuff. Learning Erlang made me a better Javascript programmer just because Erlang has a different way of thinking about everything that C languages take for granted.
Second, learning lisp in particular will improve you as a programmer. I don't know why exactly (Not a CS theoretician), but I believe it has to do with the way computers actually "think". Lisp, as its many detractors will say, is written in a way that is closely connected with the way a computer runs a program, after it's been disassembled away all the niceties of syntax and suchlike, but before its been interpreted down to assembly. It's the closest you get to programming in AST trees (another word for you) without actually doing that (and without going insane). Once you climb that mountain you will, guaranteed, be a better programmer, just because you will have better understanding of how is your code being run (guarantee not guaranteed).