4 ms·
Rant incoming. Dub it flamey or justified, it's up to you. I am posting it because this is one of my last hopes to make amends with Emacs. I accidentally used i
by pdimitar 5y ago
Rant incoming. Dub it flamey or justified, it's up to you. I am posting it because this is one of my last hopes to make amends with Emacs. I accidentally used it for ~19 years -- my first ever team taught me it and I've never bothered to learn anything much else beyond Eclipse and VS Code.
So how about a more modern take on Emacs that doesn't pull punches? Let's go.
1. Finally use a proper LISP like Common Lisp, SBCL or Racket? (Maybe even Gerbil Scheme, last I checked it it was pretty nice to look at and code in.) While you're at it, make a transpiler from Elisp to the LISP you end up using?
2. Make sure your core editor is mega ultra super fast for a change? It's frankly pitiful to have Emacs lag on a server-grade / workstation CPU with an NVMe SSD when you are trying to pick one of 2000 files in a project. I should not even NOTICE a lag on this machine! I can enumerate ~10,000 files in the Alacritty terminal before I manage to blink and press Ctrl-C, so what does that say about Emacs? (And make ahead-of-time / JIT LISP compilation the default and only option for running LISP code, please!)
3. Drop GUI efforts and just make a full-blown terminal-only version? (This might be achievable with build flags and/or fetching certain packages if I remember correctly.) I mean, the GUI efforts are historically nothing short of heroic but if Emacs is going to lag severely on a retina 5K screen (iMac Pro) then obviously somebody is hard-coding assumptions into some GUI code somewhere. Not a good software design.
4. Use async interfaces to external tools like language servers? It's baffling to have my editor completely locked for 5-10 seconds when I first open a file in a project. I am sure I'll survive without compiler warnings for that period of time.
5. Oh, and can we stop lagging the editor on every scroll because the font has more than 1000 graphemes, please? My Apple IIc computer could handle a file with 1000 records in 2-3 ms (excluding time loading it from the floppy disc, of course). I know it's not the same but come on.
---
Emacs is dated in many ways. But I am not seeing any will for a change. It seems the team is happy with gradual super-careful steps until the end of time.
I mean, that's fine, obviously it's their prerogative and all others can't do anyhing.
But this here is one last cry from me; a cry for some common sense and perspective before I swallow my low-energy levels (pre-diabetes) and lack of time (family man) and sacrifice my not-so-much sleep and me-time and finally learn NeoVim. I am sure it's going to be worth it even if it ruins my health for a few weeks because the people there are actually invested in performance, lightweight operation and ergonomics.
- taeric 5y agoI'm curious what OS you are in. Unless I am over a slow tramp connection, it isn't common for me to see any lag in the editor. And it is amusing that async through a buffer has always been possible. Just far more common for folks to not go that route on round one.
- pdimitar 5y agomacOS. Can you give me a hint on how to do the async LSP thing then? I never was actually interested in becoming a master in Emacs. ¯\_(ツ)_/¯
- taeric 5y agoApologies, I meant that async had long been doable in emacs. Compilation mode being a clear example of what that could look like. That said, most of the newest lsp code is built with the idea that calls out to the server are fast enough to just block.
- pdimitar 5y agoThank you for clarifying, much appreciated. <3
- dbmikus 5y agoLooks like LSP mode is async [1], but I haven't set it up myself. I mostly use Emacs as an org-mode app. [1] https://emacs-lsp.github.io/lsp-mode/ https://emacs-lsp.github.io/lsp-mode/
- taeric 5y agoI'm the same. I do still edit all of my code in emacs, but I grew to dislike most auto complete setups years ago. :( I sometimes fear it hurts my productivity, but I'm not seeing any real boost in the folks that use them.
- zdragnar 5y ago