Why not? The whole rest of your comment is nothing but a list of (very good IMHO) reasons to use emacs.
Why not? The whole rest of your comment is nothing but a list of (very good IMHO) reasons to use emacs.
LSP.
Language servers has made most of the heavy features in dedicated major modes in Emacs sort of redundant; servers provide error checking, warnings, refactoring and so on. The gritty bits are in the server, leaving editors to do the syntax highlighting and project management.
This sounds great, but Emacs doesn't ship with support for them, and Emacs' built-in package management is kinda unfinished.
To get good C support, for instance, I would;
1. Install straght.el for its use-package implementation
2. Pull in the lsp-mode package (or eglot, I suppose)
3. Install ccls somehow, because Emacs won't
4. Pull in the projectile package, because the built in ede is kinda cumbersome
5. Pull in magit, because the built in vc mode is nowhere near as good
6. Configure lsp-mode to grok ccls
7. Pull in emacs-gdb, because the built in gdb-mi is cumbersome
8. Finally get to work
With, for instance, vscode I would:
1. Open a C file
2. Install the recommended extension
3. Get to work
And then C works well, the debugging is ok, and so on.
At the end of all the steps I find Emacs superior to use, but most folks will have higher productivity with vscode.
0. Know i will be working with C, expect that a C layer should exist
1. Open the docs for the C layer with SPC h l <search for C>,
2. In there, search how to set it up to use a lsp backend
3. add (c-c++ :variables c-c++-backend 'lsp-ccls) and lsp to the list of layers
4. install ccls with my distros package manager
5. restart emacs and get to work
Sure, there are some more steps, but i don't really see it as a burden. And oftentimes it's even easier than that - open a file, get prompted to automatically install the appropriate layer, wait a bit while it does it's thing and you're ready to go. Ok, you should also uncomment the git layer in the configuration but it's already there.
So yeah, i do recommend Spacemacs to the developers i know if they think they might be into a keyboard-centric experience to using the editor and other benefits that Emacs brings (buffer management is a big one for me). It was easy enough for me to jump on using it, without being familiar with Emacs beforehand and without knowing elisp. You do have to know basic vim, though.
I've also tried running it from WSL. Running it in cli mode was sufficient for me, but i was also able to use GUI mode by installing an X Server (VcXsrv i think) on Windows and making WSL work with that. It makes sense to use it from WSL, if you do your development work there as well. Also, it was before WSL 2, so i don't know if anything's changed now.