LOL I stepped away from Mastodon for a couple hours and everybody is VERY MAD that I made jokes about CLIs. I use them every day, guys, it's gonna be okay. I promise I did not hurt Zork's feelings. It is, however, a factual statement that CLIs are not discoverable user interfaces and they are a poor choice for mainstream audiences; this debate was settled long ago.
@anildash for decades I've been using CLI tools which are highly discoverable, far more than typical GUI apps
@synlogic4242 @anildash If I put a regular person in front of a CLI for a system they have never used before, they will be utterly lost. I'm glad you can magically know about grep and all, but most people wouldn't know where to begin.
@reflex @anildash --help. easy to learn. unlocks a lot. or "man foo"

@synlogic4242 @anildash Um, so that helps me find the damn command how exactly?

A system that requires people to memorize large numbers of commands and consult often out of date or untranslated help files (which themselves tend to be written assuming the user is experienced) are the opposite of discoverable.

@reflex @anildash let us assume one is a child. how does one learn the English word for <apple>?

Someone tells you. They show you. Now you know its apple.

Now that you know apple, does that empower you to learn the English word for <saxophone>? For free? Automatically? No, it does not. Instead you have to climb the same hill: someone must tell you, or show you, until it sticks and you memorize it. Neither apple or saxophone were discoverable in an ether, in an absence of all other context or humans trying to teach you.

Same "flaw" exists with ls, ps, grep, git, etc. Except that when we teach folks about their existence and use we take advantage of fact the student already know hundreds/thousands of other, foundational words. That empowers them to self-learn by reading books, docs, cheatsheets, screenshots & videos. The same as with GUI apps. You must understand some foundational human lang (English, eg.) or iconography (a stoplight, a floppy disk, a "back arrow" etc) in order for the GUIs use to be "discoverable" by you. And you have to be willing and able to experiment hands-on, trial and error, to polish your grasp. Same with CLIs and GUIs.

@synlogic4242 @anildash You know what's really awesome? User interfaces that do not require you to be handheld to learn them! In fact we've been using such interfaces since the late 80's successfully and now they are the dominant method because, well, they work and are far less time and effort intensive.

Elitists of course whine about it because they want a high barrier to entry to protect their sense of being special.

Plus, of course, the english-centric nature of the CLI...

@reflex @anildash English-centric... nothing is stopping folks who are French-native, Spanish-native, etc from making their own software, releasing to public, under whatever tool names they wish, including names in French, Spanish etc. Leverage Unicode. English-native folks happen to have played key roles in the majority of the world's software ecosystems. It is what it is.

@synlogic4242 @anildash Or, and hear me out here, app developers should actually write their apps in ways that make them multi-lingual by default rather than just being techno-colonial bros who expect others to learn their language.

Again, this is gatekeeping. It's not realistic to expect every group to write their own operating systems from scratch, and it wouldn't build a world you envision since basically you'd have hundreds of competing standards.

@reflex (dropping Anil so not spamming him)

we might disagree on one point. I dont think everyone is entitled to get the fruits of everyone else's labors. And I think we all are empowered to spend time as we wish. I am not entitled to be able to buy and stream view a film about two nerds playing Pac-Man -- someone out there would have to make it, as they wish, and decide whether and how to share it. Including in what lang translations etc. Up to them not me. As with our relationship to software, both GUIs and CLIs.

@synlogic4242 Nobody is telling you how to spend your time. But complaining that people are dissing on the CLI without being willing to help make it accessible to everyone is a contradiction.

The solution to making the CLI a powerful tool for everyone is to make it accessible to everyone. Until then it will always be a lesser interface for the vast majority.