Which is the best and why

...

Definitely not the last.

First one is an abbreviation of the second. Third is trash.

GNU style is the only one that makes sense.

--afunctionality
--bfunctionality
--cfunctionality
or
-a
-b
-c

with the possibility to do
-abc

GUI

I wish more software did this rather than some half ass abomination.

-arg
Please and thank you, short, sweet, and simple.

Master race

>arg
>white

/thread

This

this. -a or --arg

This tbqh.

This, 100%

Is there any reason why we have both - and --? It seems - would be simpler and shorter.

Do you mean --thread ??? ^^

- for single-letter bool flags
-- for arguments which should be a short word followed by a value

legibility
say you want to write a shell script using tools you almost never use.
It's easier to read said script few years in the future without having to refer to the manpage

Only
ARG=VALUE ./a.out
is patrician

I'll admit, I both keked, and cursed you for thinking of that when I didn't

This is the best.

I hate --arg and I don't understand /arg

-arg is best

how do you use it in an automated script?

If your operating system isn't stuck in the previous century, then there are tools like Visual Studio Coded UI.

>yfw freetards haven't progressed past the text line interface because they think GUIs can't be automated

obviously

duh... you obviously make the script select the window named "app", type whatever you want as the argument and then presses enter

Program has arguments o, t, u and out.
Is -out o, u and t or out?

Right, but GNU style seems to include weird conventions for options with arguments.

-Wall

Is that one option -Wall that just uses a single hyphen? Is it four options -W -a -l -l? No, it's one option -W with the argument all. But there's no way to tell.

The sane way would be to put a space, or maybe an equals for long options. -W all or --warning=all.

I think getopt_long() is pretty flexible, but it does seem like there's an ambiguous case. I guess it must have some way to tell the difference between -W all and -W -a -l -l.