Comment by dleslie
14 hours ago
Emacs makes many opinionated choices about defaults; if it didn't, it would launch to little more than an elisp REPL by default.
What's important is that _you can change it_. Good defaults ensure that Emacs doesn't repel new users and casual users and users who are not interested in fiddling.
And this isn't a matter of color theme default, or font default; this is a shipped feature that _does not function_ without changes to the defaults! By default, it does not work.
> if it didn't, it would launch to little more than an elisp REPL by default.
I'm confused. Have things changed? The scratch buffer it starts with is for writing elisp.
> this is a shipped feature that _does not function_ without changes to the defaults!
Do you know how many shipped features come with Emacs that don't function without changes to defaults?
A huge number of them! Stuff like hippie-expand, ibuffer, etc. This isn't something new - it's been that way for decades.
> Good defaults ensure that Emacs doesn't repel new users and casual users and users who are not interested in fiddling.
This has been argued to death forever. While even I think they can and should change some defaults, the reality is that Emacs as an ecosystem is doing just fine without so many new/casual users, and will continue to do so. They don't want to be something for everyone.
And while I don't have the latest Emacs, in my experience with eglot - it's simply not ready for the masses. I frequently get timeouts, and would often have to shut down and restart eglot. It's been a while since I had to, so perhaps they've fixed all the issues, but it's simply not as robust as what you'd get with other IDEs. I'd rather they address those issues than the ease of use.
It launches with a scratch buffer, menu bar with populated menus, a functional mini buffer, and so on. All of this is opinionated defaults and configurable with elisp.
And yes, much of Emacs is broken out of the box and it's been that way a long while. That's not a good thing.
Emacs isn't ready for the masses. Broken defaults, and a brittle experience once features are made working is standard.
I've used Emacs for thirty years now. I don't recommend it to new users.
> Emacs isn't ready for the masses.
It never will be. It's simply not a goal they have. It's tiring to keep hearing people point it out. Emacs is also not ready to be your web server. Or your Jira replacement. It's not a lot of things - we don't need to itemize them all.
I've written a lot of stuff. Some of it I released publicly. None of it is for the masses. There are better tools for the masses - let them use those!
> I don't recommend it to new users.
"New" to what? In general, I don't recommend Emacs unless someone shows genuine curiosity. I always tell people "Give me any task, and I'll find a better tool than Emacs." And "If you want to get up and running quickly for your task, Emacs is not a good choice." Followed by "What makes Emacs worthwhile is you get it all in one package where they can interact with one another." And "It's a lifelong journey."
Nevertheless, some not technically savvy users do use Emacs today because they needed help editing files on a remote machine and I couldn't teach vim because Emacs was all I knew :-)
1 reply →
I think eglot often just works now. I recently started doing c++ stuff, and it just detected clangd and I was off to the races with no config. Same with rust-analyzer for rust projects.