[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: common CLI conventions?

On Tue, 20 Sep 2011 13:57:54 +0700
Ivan Shmakov <ivan@gray.siamics.net> wrote:

> 	I wonder, is there a kind of reference of the common command
> 	line interface conventions that the CLI's of the software
> 	included in Debian should adhere to?

One which is possible to support in all interpreted languages, all
compiled languages, all toolkits and all software no matter how long
ago it was written? No.

IMHO it is far, far too late to worry about standardising such things
because 90% of the other command line tools in existence depend on the
particular idiosyncratic implementations of other tools. That is one
migration which is truly not worth the pain.

If this was really an issue, it should have been sorted out when GNU
really was new.

It doesn't even hold that tools in a similar space operate with the
same conventions. About the best you can hope for is that the same
developers use the same mechanisms with most of the software they write
when using the same language because programmers are lazy. Switch from
perl to shell or C to python and all that vanishes. It is just a
pointless waste of effort to make them consistent when the underlying
tools are not consistent, the language/library implementations are not
consistent and the particular software itself has different
requirements to the tools it uses itself.

> 	One more issue is that some commands implement GNU long options
> 	with a particular flaw that --option=ARGUMENT is /not/ accepted
> 	as synonymous to --option ARGUMENT, which makes it impossible to
> 	use the following short form:

Other commands don't use either a space or equality operator, e.g.
dpkg-buildpackage uses -aarmel but the chances of changing that now are
zero. Too many tools and scripts rely on the current mechanisms.


Neil Williams

Attachment: pgpkEHqtKwD_B.pgp
Description: PGP signature

Reply to: