Boost logo

Boost :

Subject: Re: [boost] What is boost: was New libraries implementing C++11 features in C++03
From: Stewart, Robert (Robert.Stewart_at_[hidden])
Date: 2011-12-01 13:08:24

Lorenzo Caminiti wrote:
> On Wed, Nov 23, 2011 at 2:09 PM, Robert Ramey <ramey_at_[hidden]> wrote:
> > question:What is Boost?
> >
> > a) A collection of libraries to make as many C++ programmers
> > as possible more productive?

That's the usefulness criteria in our review questions.

> > b) A staging area for libraries which are aimed at being
> > included in the standard library?

That was the reason for Boost in the first place, so definitely!

> > c) An area for expermenting with and testing new ways of
> > using C++ to exploit novel ideas in software development
> > like functional programming, DSELs, etc. (I know these
> > aren't new ideas but implementing them within the compile
> > time type system of a widely used language seems pretty novel
> > to me)

These lead to so many things, not unlike the benefits from space exploration: pens that write upside down! Seriously, such work has led to lambdas, improved TMP support, etc.

> > d) A collection of "facades" to permit one to write one
> > program/algorithm which will efficiently run across
> > different combinations of OS's and compilers

These, ultimately, should fit under b).

> > e) A vehicle for promoting C++ to a wider audience and
> > promote quality software practices in general.

By virtue of Boost's reputation, libraries in Boost gain wide exposure. Therefore, the coding practices exhibited by those libraries tend to become commonplace. That doesn't mean that efforts within Boost should be advanced to make Boost a better vehicle for those things, but rather that, because Boost is such a vehicle, the effects of things done in Boost must be considered.

> > f) Provide the "definitive" implementation of commonly
> > required components. example shared_ptr.

That, to my mind, fits within b).

> > f) ... your own view here.

There may be a few additional items to list, but it is definitely not open ended.

> > answer: yes!
> >
> > So I'm more of the view that we let stuff into boost as long
> > as it meets quality standards. Then let users decide.
> +1

I can go along with that to a point. Anything accepted into Boost must meet the usefulness criteria. If too few find a library useful, it should not be in Boost. That helps to keep Boost manageable. Many burdens are multiplied by the number of libraries in Boost, so keeping that number small is one of many forces to balance when considering whether a library should be accepted.

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