It isn't, that's how apps decline in popularity and eventually die, thus decreasing the value of the huge amount of time you've invested
It isn't, that's how apps decline in popularity and eventually die, thus decreasing the value of the huge amount of time you've invested
The project sort of "woke up" in 2020 and has been landing new functionality at a crazy pace. Now I pretty much look at every NEWS file to see what changed salivating over the changes. At times the changes feel overwhelming as someone who only hacks on emacs when there's time, but the other great thing is emacs has such a high guarantee of stability (usually) that even if you aren't up-to-date on the latest and greatest your config can just keep chugging as it is.
I disagree with the other commenters about there being a steep learning curve. If anything it's amazing to me how people can go through the vim tutorial and learn about motions and selection commands just to type things into a window. Emacs has no such requirements and if you enable cua-mode you basically get any editor out there. Emacs's learning curve mostly comes form the fact that people who like to hack elisp and customize Emacs start constantly growing their configs.
There's a "steep" learning curve with Emacs only because people constantly get focused on the wrong aspect of it - instead of trying to understand Elisp, they get sidetracked on the "editor features" and "bells and whistles". It's as if instead of learning how to drive, new car owners spend too much time trying to learn how the entertainment system works and how big of a cup each cupholder can handle.
I have managed to extract so much value from Emacs after getting some familiarity with the language - it's crazy. No other programming medium got me from point zero to hero so quickly. Simplicity of Lisp is fantastic. The language has less complexity than javascript, and maybe even lua.
I wish people curious about Emacs, instead of fixating on modal and non-modal editing, theming, or a single facet of features like Magit, Org-mode, or language-specific setups, tried instead developing inner curiosity about how Lisp shapes and drives Emacs. What happens when I press a key? What command does Emacs call, how does that happen, what's the event loop? How can I call the same command programmatically? How can I debug a given function? How does it look when profiled, etc.?
Besides, I think there are also benefits from a tool having a steep learning curve. It indirectly acts as a filter, ensuring only people passionate about it stick around. It's not elitism, but it avoids scenarios like the Eternal September where the community gets flooded with new users and eventually never recovers. Software and services that become popular often stray from their original vision, and, with open source projects in particular, maintainers can be overwhelmed by support and feature requests from new users. Emacs doesn't have these problems, and hopefully never will.
> only people passionate about it stick around. It's not elitism
Yeah, that's exactly the faux elitist fantasy, except needlessly hardships also kills passion, and elite engineering ignites it, but being slow, unergonomic, and hard to change is the opposite of that. So you can't even get net win on 'passion', let alone some more directly relevant skills that help progressing development
I suppose so, but very few user applications have had the same longevity. There have been numerous text editors and word processors from the same era and after it that have disappeared, yet Emacs has endured. That has to mean something.
> measuring isn't that difficult, surveys exist, and it's been ~consistently in the low single digit %.
Surveys are not a good way of measuring the health of a specific project. Not all users will respond, and the percentages are skewed by the number of participants and popularity of other options.
A better way, though still inaccurate, would be to look at the amount of activity in the project's repository, the number of contributors, and the number of packages written in Elisp over time.
Emacs' official repo doesn't keep track of such statistics, but the GitHub mirror[1] shows signs of a very healthy project. You could also check package stats[2] or the amount of Elisp projects on GH[3], and compare them to Wayback Machine snapshots from a few years ago, and notice that they keep increasing.
These are all signs that Emacs is not going anywhere. The slow but steady growth is the positive aspect I was referring to earlier. Explosive growth is not good for an OSS project.
> Yeah, that's exactly the faux elitist fantasy ...
I mean, you're entitled to your opinion, but I haven't noticed any elitism in the Emacs community. It's mostly a bunch of hackers and tinkerers who are passionate about software and improving their workflow, as you can see from this article and comments here. There's no gatekeeping since anyone is free to use Emacs how they want to use it. Help and documentation is widely available, including within Emacs itself.
So I think you have the wrong idea and an axe to grind for some reason, which I can't really help you with. Cheers!
[1]: https://github.com/emacs-mirror/emacs/pulse
Why did you change the subject from popularity to project health?
> or the amount of Elisp projects on GH[3], and compare them to Wayback Machine snapshots from a few years ago, and notice that they keep increasing.
So? They can't really decrease as an abandoned project would just continue to exist. (If GH disappears then you'd have a big drop as a lot wouldn't get transferred). And a few users creating new packages can also sustain the growth for as long as you have a few users.
> The slow but steady growth
Which you don't have, users are the key metric here, and that's low and not growing
> Explosive growth is not good for an OSS project.
Not good, but excellent, but that's not the only alternative. Increasing share to 40% over 40 years wouldn't have been explosive
> I haven't noticed any elitism in the Emacs community.
You're entitled to your rosy observations of the "community", but the topic was more narrow - the ineffectiveness of overcomplicated filters in igniting passion.
> There's no gatekeeping since anyone is free to use Emacs how they want to use it.
There always is, for example, there are big iron gates blocking changes in the default health hazardous emacs-pinky keybinds. Of course, of course, if you waste enough time you'll be able to passionately hack a better system yourself, more power to you!
> So I think you have the wrong idea and an axe to grind for some reason, which I can't really help you with.
Indeed, much easier to conjure a fantasy axe
What elitism are you talking about? Is math or string theory elitist? If I find them frustrating (because of learning curve) or intimidating (because of unfamiliar concepts) or if I'm annoyed at enthusiastic evangelism (darn you Gauss), is it me at fault or those "elitist" mathematicians? And Emacs is not even comparable to math - it is far easier to get into and to master.
When people gripe about vim or emacs using broad generalizations, lacking details, you can almost sense their own insecurities and feel compelled to apologize for that one time when someone condescendingly argued with them.
That's true. That happened to many apps that I invited into my workflows over the years, and I have tried multitude of different things.
Emacs has been the complete opposite in my experience - the more I use it, the more value I am able to extract over time. Because Emacs is not "an app", it's a full-fledged system that offers endless customization and extensibility. The longer you engage with Emacs, the more you discover its potential to adapt, integrate, and evolve with your work habits. This makes learning Emacs an investment that continuously pays off, as you unlock new capabilities and refine your workflow.
Pretty much any other app that I use every single day can be replaced with an alternative or even completely removed from my toolbelt and I may not even feel the impact in the long run. There's no alternative to Emacs. Nothing comes even close to what I can do with it today. I'm 100% sure, even ten years from now that will remain the case. Unless there's a "better fork" of Emacs that comes out, built on the same/similar principles.