Hacker News new | ask | show | jobs
by sirsuki 2112 days ago
> There's never been a standard for naming and abbreviating flags, which means that for EACH program you will have to learn new flags.

How is this different than web pages or GUI apps? Everyone is different and a button that does one thing in one app/page does something different in another.

Have you tried to read GUI help files? They are written for 5 year olds and provide nothing you need as a dedicated user. Have you had to inspect the DOM of a website to try and intuit what something does it does not do?

Least with command line apps usually you have a --help or man page.

1 comments

GUIs have "discoverability" and "affordances". I've haven't read a single help file for any GUI application in 20 years (including apps on Windows, Linux, and Android) and somehow I can navigate and use them perfectly fine.

That's simply impossible with CLIs, you need at least read a "How to Get Started Immediately" note.

PowerShell does an okay job at command line discoverability in my experience. When using a cmdlet I'll think "I hope there's an argument for X" and then I can hit tab after '-' and cycle through all the available arguments. As another post mentioned, this unfortunately falls down a bit with cmdlet names themselves because they start with the verb instead of the noun: Get-<tab> isn't helpful the way NetAdapter-<tab> would be.
Fish is similar in this way, if you're not on Windows and thus don't have access to PowerShell.
PowerShell is available for Linux.

There's also Elvish, Nushell, and a few other attempts in a similar vein.

I take 'similar vein' as grand euphemism.
PowerShell is besides Linux also available on Unix.
Unix is a family of OSes that includes Linux in particular.
Cycling tabs is not effective. PSreadline supports CTRL+SPACE completition - just type - and then CTRL+SPACE and it will show menu with ALL arguments. The same works if you start argument (i.e. -P<CTRL+SPACE> shows all params starting with P)
Ctrl-Space on PowerShell is outstanding, as long as your devs are actually properly commenting their scripts (I assume your in-house PowerShell is put into modules that get installed on user machines).
It has no relation to comments.