While fighting Emacs confusion about where the directories are , where node_module packages can be … (and relying on projectile module to guess some of it..)
Very negative experience (again).
I have been using Emacs for ages. And I only know Emacs keymap.
I very much appreciate that it works in a terminal, I prefer to use it that way…
But I would not recommend somebody new to the field to learn Emacs…
It is a dead-end, unless Emacs reinvents itself with with modern project-awarness capabilities, build/release/troubleshoot pipelines, and some structured friendliness for plugin developers.
I looked at the quick rise of VisualCode and IntelliJ before it. Ignored it at first, but Emacs’s extensibility is really more like anarchy.
It does not take into consideration composabilty between multiple ‘plugins’/’extensions.
So different modes/extentions sort of choose how they work with each other (and if that), which means, that when an overall solution requires stitching (and most use cases now do) of different extensions, things do not work…
The only dev work I use Emacs for now is where stiching/integration of different modes is not needed.
For example, modifying Ansible yml files, or org-mode to write status reports… everything else is either VisualCode or IntelliJ.
I like the workbench example. I started using Emacs in college because a professor liked it. What struck me is that by learning it, I can edit code in any language without having to learn a new editor. I’ve done Java, C++, Python, Clojure, and Typescript in Emacs, each time getting great auto-completion features working and not having to learn new keybindings.
CLion and PyCharm were the closest to getting me off Emacs–they have very good tooling right out of the box specific to their languages.
Ultimately I have decided that I want to learn one tool really well. Emacs being free software makes it an excellent environment to hack around in. It’s small enough to run on any environment I’m likely to code on (including Raspberry Pis). TRAMP mode means I can run it from a beefy computer and ssh into anything else I’m working on.