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
Emacs Lisp was one of my first programming languages. As a physics student I had learned C++ (badly) as my first programming language, choose Emacs as an editor for that and also started using Lisp for configuration (maybe not a smart choice for productivity and in hindsight, but I had fun). Compared to an old-school compiled language I found Lisps to be easier, no worrying about types, no weird syntax, just functions (and macros). And most importantly coding in Elisp (and other Lisps) is incredibly interactive, just
C-x C-e
to eval any expression and see the result of any expression. For ELisp Emacs has excellent "IDE" features out of the box, you with ELdoc you see signatures of the function at point, can jump to defenitions, see docstrings etc. Also it helps that Emacs functions and variables have excellent docstrings (which the first physicist-written C++ codebases that I had worken on had not, in some cases basic Doxygen but it's not as nice. Later I learned Python and I think it's the better programming language today for learning how to code, and as an interpreted languages it also has some interactivity with its REPL (IPython) and Jupyter, docstring support, ducktyping etc. But I really appreciate how "friendly" Lisps are in relative terms considering how old they are, no wonder they had been used for introductory computing courses at MIT in the past. But there's a lot of weirdness and naming conventions that seem archaic today (things likecddar
).Regarding how rewarding it is, I think very much so! In other programming languages I found it hard to find project ideas that are really useful to me in my every day. But I use an editor daily and it's incredibly easy to find something that I'd like to tweak and I can come up with a function in a
*scratch*
butter, evaluate it and use it interactively or hook it to some mode for example.Most of my coding I had done was just doing configuration and some interactive helper functions, things like adding a custom completion backend (capf) to a special mode, a confirmation warning when I forget to add an email subject and things like that. But in total I wrote more Elisp than the recreational coding I had done in most of my other programming languages.
Despite saying I studied physics in my research I leaned heavily on the coding-heavy work and am soon entering an IT job in industry, so I'm totally someone who enjoys coding. But I think Emacs gave me a slight push in that direction.
I remember the bumper sticker “my other car is a cdr”.