Boost logo

Boost :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2001-06-01 05:14:36


Joel de Guzman wrote:

>I can never understand why someone who can comprehend
>complex abstractions, build intricate applications and frameworks,
>communicate on such a high technical level, absorb all the syntax
>rules of c++, find *a versus a* "confusing", while, on the other
>hand, a 'newbie' find it to be not confusing at all.

Because "someone who..." has CS degree, or worked with various parser
generators, or something else -- in short, he has some previous knowledge
which conflicts with different notation. Dale Gerdemann's example about
fractions is exaggerated, yet very correctly represents the problem.

As for "newbie" -- really, person who *never* heard anything about grammar
will see no difference. However, it is very dangerous to give extra weight to
"newbie"'s opinion, as you seem to do. While newbie might have a fresh mind,
he also might try the parser for one or two simple tasks and, naturally,
won't find any problems.

>I argue that it is *not* about clarity of syntax at all. It is, plain
>and simply, about personal preference. Nothing more.

Clarity and personal preference are related. Actually, I would like to recall
Greg Colvin's statement
        I don't have a strong opinion, but am glad to see the argument
        and experimentation towards finding a nice, clean syntax.

I think that the argument now becomes to be non-productive, and no
experimentation that I am aware of is happening. I therefore think that
*all* syntaxes should be implemented, so that they could be tried in
practice. This can be done, for example, by providing a number of namespaces
namespace Spirit { // default meaining of operators
}
namespace Spirit_foobar { // another meaning
}
etc.
After that, and experimentation, a table should be filled, stating
1) How many persons like and dislike each syntax
2) How those persons used Spirit
3) Which were issues with each syntax.
After that, better syntax can be selected, or the table can be given in
documentation.

I think this is the best way to deal with syntax questions.

-- 
Regards,
Vladimir

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk