From: Misha Bergal (mbergal_at_[hidden])
Date: 2003-05-28 13:51:13
"Gennadiy Rozental" <gennadiy.rozental_at_[hidden]> wrote in message
> 1. Terminology
> Terminology chosen by author is confusing to me. In my understanding:
> term "parameter" - originated from 'formal parameter", formal
> description of the expected value
> term "option" - special case of parameter that describe
> parameters with boolean values
> term "argument" - originated from 'actual argument', actual value
> passed as expected value
> The way these terms are used in library does not seems to follow above
>From the general perspective command line consists of the specification of
what to do and how to do that.
In program_options library the arguments are tokens which specify what to do
and options specify how to do that.
The decision of what needs to be an "option" and what an "argument" is
important because the if done right it highlightes the application intended
copy [options] source destination
cp [OPTION] source directory
cp [OPTION]... --target-directory=DIRECTORY SOURCE...
I think the names "arguments" and "options" are as good as anything else.
>From the etymological viewpoint you might be correct,
but the existing usages are very diverse, and denying/redefining them (even
theoretically correctly ) is going to confuse users, not help them.
The name boost::program_options is in line with the existing diverse usage
and not strict clasification, otherwise it should have been probably called
boost::program_options_and_arguments. Given the scope of the library (not
only CL parsing) I don't know a better name.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk