Hacker News new | ask | show | jobs
by mjdiloreto 885 days ago
You missed the big difference between the GUI and CLI. Even if the GUI is completely unfamiliar, and you have to learn it, you can still see the different buttons, menus etc. They often have icons or text that hint at what they do, even if you don't know exactly what they mean.

With a CLI you have absolutely nothing. There is nothing to see at all, nothing to even begin to interact with to discover the capabilities.

2 comments

> Even if the GUI is completely unfamiliar, and you have to learn it, you can still see the different buttons, menus etc.

Unless the GUI uses some material style nonsense. Then you have to guess where buttons are. Menus are so uncool. Every modern emacs distro starts with disabling them. Mobile apps have replaced the menubar with the hamburger button by necessity. Modern desktop GUIs have copied that despite it clearly being worse on a desktop than a menubar.

> With a CLI you have absolutely nothing.

I kindly disagree :-): I would say that with the CLI you have the exact equivalent: man pages.

Just like for a GUI you have to know that by hovering the cursor about an icon you will get some text description, with a CLI you have to know that there are man pages. And just like a bad GUI may have cryptic icons without any description text, a bad CLI will have no manpage. But we should compare a good GUI to a good CLI, to be fair.

I agree. In the CLI I have a blinking cursor. If I press keys I see characters. If I press enter I get a response[0]. I do need a further invocation to get help, but that's easy enough.

[0] admittedly a holdover from the typewriter, but even presented only a keyboard and a screen I've had a kid realize that one special key makes the words go vertically instead of horizontally.

There is no reason why a better shell couldn't show tool tips over command names or flags, assuming there is support for it in a terminal emulator. Even without support from the tooltip it would be possible to show some info about the thing below the text or mouse cursor in a designated area of the cli.
Hi, I've never used a computer before and my first time will be a CLI. What is a man page? How would I discover what it is without first knowing it exists?
I believe this is a wrong assumption. People have to learn the basics even to use a GUI. Because they grow up with GUIs does not mean they have not learned they way around them.
And how does one discover the “man page”?

In most GUI applications I can at least find the word “help” of I look around.

That's part of the basics you need to learn about. You also have to learn basics for the GUI, it does not come to babies by instinct.