Boost logo

Boost :

Subject: Re: [boost] Arguing about names in Boost libraries
From: Stewart, Robert (Robert.Stewart_at_[hidden])
Date: 2011-04-25 10:37:29

Edward Diener wrote:
> What is wrong with the people commenting on libraries for Boost
> who are so concerned about the names being used ? We are
> talking only about C++ identifiers and yet there are now
> endless discussions where people disagree on names or argue
> that some name is not what they want or that they like some
> other name, with a list of names that they find adequate.

Naming is a personal thing in many ways, but there are certainly many objectively poor choices to avoid. Many times, another's view on a name is obvious once stated, but not before. Discussion and alternatives are useful.

> This is irrelevant. There is something mentally wrong about all
> those peoples spending endless amounts of time around this
> issue.

Are you qualified to make judgments as to my mental state?

> I notice this does not happen nowadays for just one library
> but for ever single library, or proposed library, which is
> mentioned on this mailing list.

I don't know whether your statement is hyperbole or fact, but it doesn't matter.

> Is this the way all of you people actually work in your daily
> jobs, or on your own projects, spending hours and days
> arguing with others about C++ identifiers for every little
> thing ?

I spend a good deal of thought on names which have public visibility, because they are to be used by many others. I even seek advice from coworkers on numerous occasions. I have been known to suggest name changes in a function body if it aids in clarity for review and maintenance because misleading or confusing names will mislead and confuse even the author months later. Names are not irrelevant.

Mind you, those discussions don't take hours or days because they can be conducted face to face. On this list, participants are on various parts of the globe and have other tasks to interfere with quick resolution. Is that a surprise?

> Are you not aware of the absurdity of your endless remarks ?

No. Thanks for sharing.

> Grow up !

You may be older than I by a few years, but regardless, this is offensive.

> Surely there are better things to do than carry on endlessly
> about some name, that is should be x or y or z or some other
> inane preferable list.

Perhaps you don't care about names, but in libraries that will get *very* wide exposure, poor names are best avoided. When poor names are codified in Boost or the Standard, there's nothing much we can do; we use what exists. Before that time, we have opportunity to try for names as clear and helpful as possible.

Fortunately, the discussions are not endless. Resolution is achieved, though obviously not soon enough for you.

> It's time for somebody to say this, so I will do it. A C++
> identifier name, as long as it is vaguely about what the
> functionality entails, is perfectly adequate.

Consider std::string::empty(). According to the pattern of the other member function names, that should empty the string. Instead, given what it does, it should be named "is_empty()." Another example is operator new versus new operator. I teach C++. I have to deal with such points of confusion in the language and library. Thus, when I have a chance to prevent confusion, I step into the fray.

> It [an identifier] does not have to satisfy everyone in the
> universe. Period !

No one expects to find such consensus. It's pleasing when it occurs, however.

I can only suggest that you ignore such discussions in future to avoid getting so upset.

Rob Stewart robert.stewart_at_[hidden]
Software Engineer using std::disclaimer;
Dev Tools & Components
Susquehanna International Group, LLP

IMPORTANT: The information contained in this email and/or its attachments is confidential. If you are not the intended recipient, please notify the sender immediately by reply and immediately delete this message and all its attachments. Any review, use, reproduction, disclosure or dissemination of this message or any attachment by an unintended recipient is strictly prohibited. Neither this message nor any attachment is intended as or should be construed as an offer, solicitation or recommendation to buy or sell any security or other financial instrument. Neither the sender, his or her employer nor any of their respective affiliates makes any warranties as to the completeness or accuracy of any of the information contained herein or that this message or any of its attachments is free of viruses.

Boost list run by bdawes at, gregod at, cpdaniel at, john at