6 comments

[ 2.5 ms ] story [ 38.4 ms ] thread
Perhaps some people haven't realized this, but boost had been a testing ground for new language features for a long time. That's basically the point of TFA.

Boost runs a lot quicker than a standards body, but the proposal isn't quite as good. I personally like boost's "quicker but worse" methodology, but I can see the value that the official c++ standards committee provides. E.g. the atomics interfaces were previewed by boost, but to be done well really did require the more painful standards process.

In any case, I see the status quo as mostly healthy. It might be better if boost was to be officially encouraged, but most serious users of c++ understands that boost is useful without official endorsement.

Some boost libraries are very error prone and fall down easily. When it works it works great though. I’m happy the quality bar is so much higher for the stdlib. People looking for more bleeding edge stuff can get boost if needed.
For fun, call reserve() on one of the Boost hash containers when it's empty, and see when the bucket-array allocation really happens. (Don't try this in time-critical code.)

Fortunately the Standard containers do better. But the Standard doesn't say they must.

I always thought that writing a non-trivial library that is accepted into Boost, would be like being accepted into a priesthood (for C++ programmers).

In the sense that the standards are very high, and seem to require at least 3 things: expert level understanding of C++, of a number of boost idioms, and of the particular domain/niche that your library solves.

Yep Boost is really useful if you want to double your build times or want to make sure your builds fail whenever you upgrade your C++ compiler to a slightly newer version. Removing Boost from project I work on has always been an excellent way for me to boost (pun intended) my productivity.