Boost logo

Boost :

From: Dave (dave_at_[hidden])
Date: 2001-07-29 14:59:39


Someone wrote,
>As the base natural language of C++ and Boost is English, I personally
>prefer to stick to the more easily communicated form, whether written
>or spoken, where the adjective precedes the noun -- it's a const int not
>an int const.

I prefer to think of code as poetry rather than prose :-)

     Better than all measures
     Of delightful sound,
     Better than all treasures
     That in books are found,
     Thy skill to poet were, thou scorner of the ground!

              -excerpt from "To a Skylark",
              -Percy Shelly

You can't appeal to English sentence structure to dictate the order
of C++ declaration specifiers. A person isn't really fluent in any
language -- computer or spoken -- until he or she can comprehend the
language directly without an intermediate translation. Much of C++
declaration syntax is restricted to an order that is not sensible if
rendered in English in the same order. Is:

     int A[10]

an "int A of ten?"

In the cases where C++ allows discretionary ordering of declaration
specifiers, can we not also allow the programmer the same discretion?

Analogously, if C++ allows

     auto signed long int N;

to be abbreviated:

     long N;

don't we allow the programmer the same freedom? It is not clear to
me why we need to enforce a stricter ordering of declaration
specifiers than what C++ allows.

     -- Dave Miller


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