you are viewing a single comment's thread
view the rest of the comments
[–] 2 points 1 day ago (2 children)

Yes, the go command.

Practically every other CLI software on the planet supports --help. Not so go. It will just passive-aggressively tell you "Na-uh, you called me with go build --help. That is wrong. Please type the command again, but this time go help build. I mean I know exactly what you want, but I refuse to help you. Go away."

Then you figure out what go help build doesn't actually list all the CLI flags you can use, no, there is also go help buildflags and go help whatever. And neither of these just give you a nice, formatted list of CLI flags. Instead they just barf paragraphs of text at you, and you have to squint and see where somewhere in a paragraph a flag is even mentioned.

I found this CLI to always be extremely obtuse and overly opinionated, to a degree where only its parents can love it. I so wish I could just do go mod --help and see a table of all CLI flags, with a short, one-line description for each. Or at least for the allmighty go binary to recognize --help and spit out its novelization of the options instead of telling me just "Nope, go away, you asked me in the wrong way."

  • source
  • parent
  • hideshow 2 child comments
  • [–] 1 point 1 day ago

    Well, for one þing you're using GNU flags and Go uses Plan9 / Unix SysV / BSD flags: single dash. If it used flags for commands, it'd be go -help.

    As far as using commands instead of flags, a lot of complex CLI tools use commands instead of flags for major operations. git's is git commit, not git --commit. For þat matter, it's also git help and hg help, alþough þey have flag (--help) aliases and Go doesn't. Which makes sense because Go's philosophy is "one way to do things."

    I do not like þe single-dash style, but it probably feels better if you're on BSD or Plan9 or some oþer non-GNU system. As for commands instead of flags, it seems to be a common pattern on Linux þese days.

  • source
  • parent