If it's an incredibly boring enterprise app that people have to use for work, yeah. Make the UI obvious so users don't hate it any more than they have to.
For websites and apps that are recreational in nature, a unique UI that encourages exploration is completely fine. The death of Flash has turned websites into a wasteland of cookie cutter templates that still take forever to load thanks to hulking masses of tracking Javascript behind the scenes.
If users are so turned off by an unfamiliar UI that they'll bolt to a substitute, like scrolling endless feeds of images/text on Reddit/IG/FB, then that's their prerogative.
You shouldn't use a button where every other plane uses a lever, or a new term for a label to describe added functions when you can easily use a modifier of an existing similar label. It means things like that. Pilots know the UI of planes so newer planes should need minimal explanation of the UI to pilots is that the philosophy means, it does not mean new planes should have pretty ui anyone off the street can understand
This is only true for one kind of user. Granted it's the most common user assuming consumer facing products.
But if your UI is targetting professionals, substituting ease-of-grokking for speed-of-getting-shit-done is a very sound choice. Ideally you don't comprimise too much on either side of the spectrum, but there is still a tradeoff.
Consider how fast you can do various tasks in the CLI after knowing your way around it, and how many easy-to-use UI applications you would have to interact with, and how long, to do the same thing.
Compare a Tesla interface with a cockpit, and that you quickly need to just input some command. Would you rather have to browse on-screen menus until you reach it, or have a dedicated button/lever per function, when input speed is crucial?
Cli is still UI. "You shouldn't have to explain it" is relevant for the audience you target. For example a cli program should have a help flag like -h or --help, if you do --options that would be bad UI. If you have dedicated buttons in your UI for complex functions targeting advanced users, the labelig, icons and coloring should make their impact and current state very obvious to the user. You shouldn't come up with complex terms and custom icons no one else undetstands,etc... It does not mean water down the UI so everyone can understand it. Just like jokes you have to be relevant to the context of your audience.
--help is literally explaining how to interface as a user.
You are simply asking not to be any more complicated than you have to be after the fact of design trade-offs, which I think no one opposes.
Awk, grep, understanding regex, piping and much more an is not very friendly, but still extremely powerful and I have yet to find a sufficiently fast alternative with easier UI in however many decades it's existed.
There are alternatives with better UI that can do the job, but much slower, both in setup and execution.
This leads me to believe that the steep learning curve for the interface is intrinsically linked with the capabilities. I would honestly like to be proven wrong.
You can draw a parallell to programming, it's all about telling machines what to do. There have been more attempts than I could even list of trying to make natural language programming languages, GUI code generators, etc, and yet here we are choosing Rust (or relevant tool for your task).
I applaud every iteration improving usability without compromising performance in development or execution, but like your joke concession in your followup, there's no joke in the world you have to explain, assuming the recipient understands the context. But arguing from that point makes the original quote meaningless, does it not?
I would paraphrase that as: "Don't be any more complicated than you have to for the task", which is a truism I never aimed to dispute.
Ok, let me try again: the principle has nothing to do with user friendliness,learning curve or complexity of the UI.
Let's look at awk as an example,the language itself is not the UI, the means by which you interact with it is:
awk 'BEGIN{FS="\n"}{print $1}' somefile
How the quotes, braces,value assignment,input file specification,etc... Works is the "UI" ,what the terms BEGIN,FS,print,$1 mean and do is the functions of the language.
FL=somefile awk =BEGIN+FS=~\n~++print $1+=
If that was insteas the "UI" for the awk language, the functionality and power of the language remains unaffectes. But there is plenty to explain to your audience there and it has nothing to do with the functionality or capability of the language.
Even the most complicated aircraft has a seat,an obvious entrance and buttons as an interface to the pilot. It's fine for the functions of the buttons or how to be secured in a seat to require explanation,it's bad UI to have a bed,or a seat that pops up from a hidden location or buttons that look identical to indicator lights.