Hacker News
points by gspr 1 day ago | 0 comments
So here's an embarassing confession for the occasion:

I code in Emacs almost every day. I read and write e-mail in Emacs almost every day. I take notes in Emacs almost every day. I maninpulate data in Emacs almost every day. Yet I don't know LISP (any LISP!) at all, I barely use any packages beyond "whatever it is that Debian ships by default", and I'm quite bad at fancy Emacs shortcuts. My Emacs config file is a hodge-podge of little snippets I don't properly understand – and it measures in at just about 100 lines, including comments and whitespace, with a significant part of that being just mundane configuration data for the mu4e Emacs client!

This has been the case for about 15 years now. And I'm the kind of person who really likes to know my tools. It's such a ridiculous situation! I somehow never get properly around to sitting down and learning, and I really struggle to make LISP click.

Sigh. I hope I'm not alone. I really really really should learn this thing!

Anyway, the most important part is: Despite all of this, Emacs is still fantastic for me! Here's to the next 50!

[–] ylee 8 hours ago
>I code in Emacs almost every day. I read and write e-mail in Emacs almost every day. I take notes in Emacs almost every day. I maninpulate data in Emacs almost every day. Yet I don't know LISP (any LISP!) at all

As others have said, it's never too late to learn.

My life has been within Emacs for 31 years. Yet I would say that I only really learned Elisp in the past ten years. Still at a tyro level, but enough to write my own functions for VM (I don't think mu4e existed when I started using it, also 31 years ago).

>Anyway, the most important part is: Despite all of this, Emacs is still fantastic for me! Here's to the next 50!

Amen.

[–] iLemming 1 day ago
> I don't know LISP (any LISP!) at all

I'm a Lisper. I switch between Lisp dialects, sometimes multiple times a day. Since I got my LLM harness to work from inside of Emacs I no longer need to even look at Lisp that it generates for my config.

It is very justified use of AI - if anything breaks, it breaks for me, and mostly just for me. And whenever something doesn't work as expected - I don't even try to debug it anymore - my harness has introspective capabilities - it can run the profiler, monitor changing vars, debug and just fix things.

Now is the best time to try Emacs. If people before could complain that Lisp is weird and not easy to grok, it's not a valid complaint anymore.

[–] kickingvegas 1 day ago
Been using Emacs for 37 years. Didn't start learning Elisp until 6 years ago. It's never too late. Wrote an Elisp Cheatsheet for Python Programmers, which helped me level up. Perhaps this might as helpful to you.

https://kickingvegas.github.io/elisp-for-python/

[–] moishe_syzslak 1 day ago
You're doing it right. When I was gainfully employed, emacs was purely a black-box means to a greater end, i.e., promotions and added responsibility. In my premature retirement, the vortex of emacs became an end unto itself. Believe me, I'd happily trade my emacs expertise for a more meaningful pursuit.
[–] gpderetta 1 day ago
I've been using emacs everyday for the last 25ish years. Although I do read elisp and occasionally write some, I'm far from fluent. You do not need to know lisp to use emacs (although it is funny you didn't pickup some just by osmosis).
[–] agumonkey 1 day ago
I find it interesting actually. Not embarrassing. You mastered the feature layer more than I. I went into lisp with dreams of making my own features but turns out I was quite limited.

Different psychologies

[–] dmpk2k 1 day ago
We have finite time in our lives. I'd argue it's eminently reasonable to spend time on things other that Emacs' guts, unless that's what tickles your interest.
[–] Hammershaft 1 day ago
You may be the most productive emacs user.

emacs is a rabbithole and the cost is rarely worth it. LLM agents do a great job already customizing your configuration for you.

[–] gspr 1 day ago
> LLM agents do a great job already customizing your configuration for you.

I'd rather leave it unconfigured than have a massive configuration I don't understand.

[–] jimbokun 1 day ago
You can always read the generated code and spruce it up or have the LLM refactor it to your liking.
[–] gspr 1 day ago
Reading code in a language you do not understand is not a way to understand.
[–] iLemming 23 hours ago
You're the one complained:

> My Emacs config file is a hodge-podge of little snippets I don't properly understand

People giving you truly time-saving advice. Use a good model to unhodge-podge it. You can even ask it to explain every single Lisp snippet it makes, to the detail and granularity level you prefer - want a big picture, please; would you like nitty-gritty details - ask no more. It's not like it's gonna build a "massive configuration" and absolutely will refuse to make it make sense to you.

[–] gspr 23 hours ago
Yes. "A hodge-podge of little snippets I don't understand" is the situation I'm in and wish to avoid. "An LLM wrote a lot more that I don't understand" will make the situation a lot worse.

There's indeed lots of good advice in this thread. I appreciate it all! "Just use an LLM for the stuff you don't understand" is, however, not one of them.

[–] iLemming 22 hours ago
You're hypothesizing of something you haven't even tried. What's the worst possible outcome? You end up with more shit you don't understand. You then just throw it away and go back to smaller amount of shit you didn't understand well to begin with.
[–] BeetleB 1 day ago
I've always told people: You can be a power Emacs user without learning elisp.

I myself used Emacs heavily for 9 years before learning elisp (clicked on my 3rd attempt).

IMO, the included Elisp guide is not good for beginners. My recommendation:

Separate the language from the ecosystem. First focus on simply learning the basics. How do you set a variable? How do you write a loop? How do you write a function? These things are as easy in Elisp as they are in other languages. Perhaps use Exercism to practice.

Of course, also learn the related keybindings (C-M-x to evaluate, C-x C-e, etc).

Only then start understanding some of the basics of integrating with the rest of Emacs (unwind-protect, save-excursion, save-restriction, etc).