Comment by ndsipa_pomu

22 days ago

GUIs are great for when you're new to a bit of software as you can see the various options and get a feel for the possibilities. CLIs are nearly always more flexible once you've read the man page, but is a steeper learning path.

Automation/scripting is when CLIs really come into their own as otherwise you end up becoming a GUI click monkey. The best is when there's both a GUI and CLI (as long as they work the same way).

I wonder how good CLIs could have been if a fraction of the resources that have gone into GUIs had gone into making CLIs more user friendly. A sequence of words is a pretty natural way of conveying what you want done.

  • The problem with CLI isn't typing, its discoverability. Keep in mind conveying what you want done requires knowing what can be done first.

    • I often get my way through unknown CLI commands by just typing TAB and selecting the option that sounds like what I want. Works, most of the time, I don't think that is really an issue. For most CLI programs you also have a reference/cheat sheet, examples and an interactive hypertext systems of tutorials available.

    • Many GUI designers these days don't like discoverability and don't think it's important. They prefer to hide everything behind "gestures" that you just have to know somehow.