You're just assuming that one set of optimisations are the most important for everyone in UI design. Good UI design doesn't state that it is always the case that people should be able to use it intuitively. Sometimes enhanced performance, speed, and focus over the long term are optimised over intuitiveness. This is the case for Vim. There is room in the world for both sets of optimisations.
Or a pilot. Or an artist. Or a mathematician. Or basically anything difficult.
This is the price we pay for having easy-to-use computers. People have developed an expectation that everything should be easy and if it's not easy for beginners then it's bad.
Some things are just hard! That doesn't make them bad. Some of the best things in life actually take years of study to learn.
Nice of you to give mathematician as an example, considering we no longer do math with roman numbers.
Artists will do what they do, just for the hell of it. given that art is expression, doing something hard like painting with your toes could be considered art.
The key is simplication, and its something I notice programmers refuse to allow in their profession.
Plenty of musicians made it big with easier to use tools many people made fun of. like fruity loops. more intuitive interfaces is not a demerit, it was the point all along.
This is a wild take. I'm not quite sure how you would go about changing it into something "better" without funadmentally destroying its functionality. The "UI" of driving a car or a jet requires "a course" but it doesn't meant that they're bad.
What a strange comparison. Driving an (automatic) car can be learned through trail and error in no time at all. It's the external factors like other traffic that are hard to get right.
I think this is the wrong way to think about computing, though I sympathize, because I also used to think this way until I reflected on a podcast I'd heard about how when the computer mouse was invented, it's little known that a second very sci-fy-y device was also intended to be used as a peripheral, one which you put on your other hand like a glove and moved in all sorts of ways in order to direct your computer. Ultimately this device didn't catch on, but it's not necessarily the case that just because something isn't trivial to start using that it's bad -- on the contrary, both kinds of tools are useful.
Tools which are eminently transparent in how you use them are great to get started, and to continue with if you don't want to spend any more time.
But so are tools which you need to actively invest effort into using. These can unlock ways of using something which are more powerful and rely on the time you put in to learn them -- true for a computer, but there are plenty of other devices in the world where this is the case too.
- space, k for documentation on the thing under the cursor
- space, [yp] for copying/pasting to the system clipboard
- m, [ai], [acfo] for selecting around/in language structures
This is easy because Helix has a very fast command palette thing, and a lot of its commands are behind consistent prefixes, so if you know `mi(` for selecting within parentheses, you can do `mi` to ask "what other things can I select within?"
Which code editor does NOT have an online course on how to use it? Go ahead, type "IntelliJ course" or "VS Code tutorial" and see hundreds different videos.
The problem is how much time do you HAVE to sink into just to learn a tool? If you have a tool with the same functionality and requires less time sink, then the previous tool is obsolete and should be tossed away.