dmd command line options bad design: -offilename, -Ddocdir etc.

Andrej Mitrovic andrej.mitrovich at gmail.com
Thu Apr 11 04:15:51 PDT 2013


On 4/11/13, Jonas Drewsen <nospam4321 at hotmail.com> wrote:
> AFAIK most unix tools have two formats: long and short.
>
> long:
> dmd --foobar-dir=/somewhere/over/the/rainbow
>
> short:
> dmd -f /somewhere/over/the/rainbow
>
> Most programs supports both. I think that would be the way to go.

RDMD works on the assumption that its flags begin with -- and DMD's
flags with -. There's no need to invent new short/long switches, we
just need an equals sign to make it visually clear.

Also using spaces might be a bad idea, you might end up doing the
wrong thing if you call DMD incorrectly (e.g. a result of a wrong
expansion in a shell script), for example:

$ dmd -of foo.d bar.d

Currently this is an error, the user forgot to specify the -of switch.
If spaces were ok then this becomes the equivalent of:

$ dmd -offoo.d bar.d

I'd rather be safe than sorry and allow either -offoo or -of=foo. It
will catch errors this way rather than do something unexpected.


More information about the Digitalmars-d mailing list