IMO that is probably better than most other ecosystems where this percentage is often 1-3%.
> about 90% can program in elisp
Emacs doesn't really make a distinction between user and developer, and its a major driving principle behind the whole endeavor.
> makes me suspect the outcomes are skewed
Very much possible. But the survey was advertised over HN, matrix, IRC and Reddit. The last being a lot more 'general' audience than other 3, which I expect skews other ways. Anyway, knowing what Emacs is itself is a selection bias, so this is hardly unexpected.
> or emacs is doomed
If current breakneck speed of development of core Emacs as well as ecosystem at large is any indicator, I'm not preparing the doomsday shelter any time soon :)
LSP integration has been available for very long time, just not from the core emacs repo. For example, Ubuntu does not ship with Blender, because no official build of Ubuntu is available with Blender pre-installed in the iso, but that doesn't mean Blender is not available on Ubuntu. Emacs is a lot like that.
Similarly for tree-sitter. Available as a package for a while, only now also available built-in. An Emacs release is not needed to get a feature in Emacs.
Extensibility is important and useful but it also comes at a heavier mental load for users because it introduces complexity, and Emacs is already complex enough imo.
What you're overseeing here is that Emacs configurations are usually highly individual, and that "a working setup" for _you_ does not mean the same as it does for _me_.
For example, regarding LSPs, I only use them in very rare cases because usually LSP implementations themselves (regardless of the editor you use them in) are buggy and/or slow.
For me it's much more important that the actual _text editing_ experience is consistent across languages, than the tooling for any particular language.
There's too much 'add this include your .emacs' etc. But it's getting better.
I agree. It wasn't obvious to me, at first, that Emacs is not a code editor, rather just a Lisp program for editing lots of text. And I didn't even know what Lisp was at the time, so it wouldn't have helped either way. But ...
> It should be easy to setup a coding environment with it.
It kinda is. I started using Emacs with just a Spacemacs install. And I didn't need to learn anything about Emacs for a long time after that. It was only when Spacemacs stopped being maintained, and I started facing issues due to that, that I looked deeper. It helped that I had learned what Lisp is (Common Lisp, though, not Emacs Lisp) for it to finally click, so I got lucky that way.
Now, even when I know Emacs (and Emacs Lisp) rather well, I still stick to Doom Emacs to "setup a coding environment with it".
Emacs is best understood as an editor construction kit with a default editor as an example. It's a "build your own editor" Lisp environment. And it's really more "text based applications" rather than just editor. Add some support for images and SVG on top too, although it's not as central as text.
Nobody fully build its own Emacs variant of course, there's a lot in the core Emacs (with a surprising amount of features disabled/hidden by default!) and it's most of anyone Emacs variant. Still, the approach of putting up one's "own" Emacs is important. I'm using over 50 packages, with a ~100 kB init file and Emacs distros are way above this I guess. The basic experience is if I want something to work some way, I'll look for supporting package(s) and tune them as I want, or much more rarely write some Elisp.
Making Emacs more approachable to newcomers is a recurring discussion in the Emacs world. For historical reasons there's a barrier, as Emacs predates a lot of things (GUI windows so in Emacs a "window" is what's a text pane in other editors, Ctrl-X/C/V so it's C-w/M-w/C-y in Emacs, etc.). Changing this would be disruptive to current users, and Emacs puts a lot of weight on being backward compatible. It's not possible to please everyone here.
In the end, I don't think Emacs "alieness" is a problem. The differences are rather superficial and easy to learn (with some motivation). For people not interested in this, there are plenty of alternate editors that focus on being user friendly, and it's perfectly fine. Choice is good.
Much more important to the Emacs experience is the ease of customization and adaptation. The Lisp environment is a big part of this: once you know the basics the embedded documentation is very extensive and always accessible. It's trivial to get the documentation on any function or variable, and go to its source code. It's also straightforward to adjust any behavior. There is no difference between core elisp code and the user code. Changes to the core are done in a conservative way to avoid breaking all the current users customization (there are breaking changes, but with early obsolescence warnings and good change documentation). All this is a much more important part of Emacs than the early experience. It's also quite specific to Emacs, I'm not sure there are many alternatives? If any, they're also "not so user friendly" (like neovim with Lua now?).
In summary, there's a tradeoff being first user experience, backward compatibility with such a long history, and flexibility to accommodate very different needs and use-cases (some of them incompatible). Emacs has a specific situation here. It may not be to everyone taste, but it's OK: there are plenty other alternatives. There's a thriving community, improvements have never been as speedy. I'm a happy user seeing no reason to change, on the contrary: I really feel it's getting better and better!
I think that the kind of people participating in the survey do skew the results but in any case... Emacs is thriving atm.
I've never seen so much interest in Emacs as lately. I've been using it since the late nineties, with a short XEmacs stint, and still use Emacs to this day. And it keeps only getting better and better.
I don't see Emacs as being doomed at all.
Can you elaborate? Isn’t a high developer/user ratio a good thing?
Most people I have met using vscode use it very vanilla, maybe thet use a handful of plugins bit non of them have written custom code for it. All Emacs users I have met though were quite fanatical in customizing the editor.
That being said, as a a newbie, even when M-x <command> it's pretty hard for me to figure out commands.
Documentation is also a bit hard for me to understand and seems to assume you know what you are doing already.
I think having the menu system expose more commands from minor and major modes might go a long way to reducing friction from new users.
C-h m
i believe that lists all of the functions/variables of the current major mode you have
I think also C - M x (not sure abt this one) is like M-x but basically only displays commands related to the modes you have active
> All Emacs users I have met though were quite fanatical in customizing the editor.
Indeed, and that's the bias of the poll, too. So emacs has a problem getting people on-board. I got into emacs via a Symbolics. It was great, back then, but it's such a specific combination of skills, and the user experience of emacs is completely outdone by e.g. VSCode. Add to that that most devs nowadays have a very shallow technical understanding, and emacs seems to be cornered in a niche. The only opportunity I see for it to come back is when the terminal interface becomes fashionable again.
[1] mind, I don't think that emacs requires very deep understanding either, but I might be overestimating the average programmer.
The basics of Lisp are trivial. I’d happily no-hire any supposed developer that couldn’t easily pick it up.
> and the user experience of emacs is completely outdone by e.g. VSCode.
I heard this too. I was starting a new job using Ruby, which I hadn’t used in years. Despite being a long time Emacs user, since I hadn’t used Emacs in a few years and by far the most popular editor used by my team was VS Code, I thought I’d give it a shot. To my surprise it didn’t work anywhere near out of the box. I, and other developers on slack too, spent several days mucking with plugins and configs to get sorbet and other language servers working. At that point it was still a laggy lousy experience, but one where I was forced to use the mouse and had poor discoverability. So I said eff this, pulled spacemacs, and had a fully featured lsp based ruby IDE customized to my liking in about four hours.
My conclusion from all this is that people say VS Code has a superior user experience they either don’t know what they’re talking about or are drawing the most superficial of conclusions.
If you hit a wall with vs code, which many people consider the most user friendly editor because of lack or familiarity, imagine how it is for emacs newcomers, when the community’s approach to user experience is “you’re a user? Nope, you’re one of the devs now”.
That's why I mentioned that other developers were having the same problem. There were dozens, if not hundreds all struggling to get a decent Ruby IDE going in VS Code. Enough so that documenting and sharing VS Code config became a week long hack days project. My familiarity with Emacs doesn't explain that away.
> If you hit a wall with vs code, which many people consider the most user friendly editor because of lack or familiarity, imagine how it is for emacs newcomers, when the community’s approach to user experience is “you’re a user? Nope, you’re one of the devs now”.
I never claimed that Emacs doesn't have a learning curve too. My claim is that VS Code required at least as much effort to configure to be a proper Ruby IDE as Emacs did. And that's not an argument, it's a factual statement based on my experience and my observation of my peers' experiences. Maybe VS Code is a great out of the box IDE for some blub, but as soon as you need to configure it, it's just as much of a hassle if not more so due to its inferior discoverability.
You do raise a good point though that the Emacs community has a high average level of respect for Emacs users. It's one of the things I find refreshing. Even in places like reddit where the default discourse is around the cesspool level, the Emacs community is great and practically encourages achieving competency and then mastery.
10% being plugin authors is a bit surprising to me and it is possible that the survey is somehow skewed.