|
> Emacs' defaults, discoverability, overall polish - just sucks Agree that there's plenty to dislike about Emacs' defaults, especially in terms of polish/GUI, but can you elaborate a bit on what you mean by "discoverability"?
I find that the self-documenting features are really great: whenever I want to understand what something does or how it works, I can do "describe-function", "describe-key", and "describe-mode", not to mention inspect the actual source-code with just a few clicks. I miss these features whenever I use other programs.
If by discoverability you mean "figuring out how to implement a specific thing I'm thinking of" then I'm curious what the ideal solution would be. For me, it's "use a search engine and, failing that, a web forum." But this isn't unique to Emacs: I and most people I know use this approach for all programs, and I don't see how a specific program could improve on it. I'd be interested in alternatives though. > the barrier to entry is too high for people who need to focus on getting their work done today This point is often brought up and I 100% agree with it, and think it's important that new users are aware of it. That said, I don't know if there's an easy way to get around it: you get the most out of Emacs once you're somewhat of a power user. To use a simplistic analogy: if you need to travel to the next town and you don't know how to drive, it's probably faster and definitely safer for you to walk or take the bus. Learning how to drive will take time and effort but it will pay off in the long run.
My advice to new users is to start slow, use Emacs for only a few small projects, explore different functionalities but don't expect to do everything in Emacs right away, and check out some of the great tutorials out there, like the book "Mastering Emacs" or the "System Crafters" series on YouTube |
Sure. Mind you I started on this journey when I was 15 years old, my memory of the initial experience is quite hazy on the details.
The problem is: how do you even discover that things like describe-function or describe-variable exist? The tutorial barely explains how M-x actually works, but also doesn't mention the describe-* functions at any point.
Say you accidentally discover it - type M-x describe-function, press <tab>, and are now presented with a daunting list of potential things to learn about. None of the names make sense out of their context, most will be irrelevant for the problem you're trying to solve. Even if you're not solving a problem, but just exploring - how do you find out what's interesting to look at? You look up a couple random functions, figure you don't know why they would be useful - do you even come back to use this system again?
The Emacs nomenclature is often different from what you're used to from literally every other system (paste is yank, window is frame, cursor is point, close OR cut is kill, etc). When you're looking to solve a specific problem (what is the name of the function that I want to bind to Ctrl-v, so I can use it to paste text?), it's very difficult to deduce that the keyword to look for is "yank". How do you even find out you can customize something, if you can't name it?
Meanwhile most of the things that keep me hooked to Emacs nowadays, are hidden gems (both tiny and big) that you'd never learn about, unless someone else hinted you in that direction: magit, tramp, server, align-regexp, fill-paragraph, sort-lines, describe-* - in some cases, it literally took me _years_ to find some of these exist.
The main reason I stuck with Emacs, was that a lot of people kept hyping it as powerful and customizable. But none of the power and customization was easy enough to unlock - not even for a 15 year old, with an overabundance of free time, enthusiasm, and curiosity. The older I get, the simpler my config - I no longer have the time or will to keep tweaking or fixing things. I'd probably switch to VSCode if it had anything half as good as magit.
> To use a simplistic analogy: if you need to travel to the next town and you don't know how to drive, it's probably faster and definitely safer for you to walk or take the bus. Learning how to drive will take time and effort but it will pay off in the long run.
Excellent analogy, and it just happens that I have an excellent counter-argument! I moved to Vienna, a city with public transport system that is so cheap, reliable, and well-connected, that many people don't even care to get a car. The building I live in has 40 apartments, and an underground garage with... 6 cars in it? But when you do need a car, the road system is still there and is pretty efficient.