Niall Douglas wrote:
Boost 1.x is obsolete.
It is obsolete because enough of Boost 1.x is now in the STL that you no longer need to use Boost 1.x.
It's also monolithic, and has a long list of structural problems.
I have to admit that for a long time I hadn't the faintest idea what you were talking about. I think I get it now. You're saying that most of Boost's internal dependencies are to libraries that are now part of the C++11 standard library, and can therefore be eliminated, so that a newer, cleaner, Boost can have no internal dependencies, and its libraries can therefore be deployed independently of each other. You view this as an obvious good thing, because in your opinion, monolithic Boost releases are a pure cost and offer no benefits. All this is questionable. You have access to the dependency report and can - given enough motivation - evaluate, on its basis, whether Boost libraries can feasibly be expected to not depend on other Boost libraries, under the assumption that a C++11 standard library is available. Some of them can, others cannot. You haven't done this research. Even though many compilers are now sufficiently C++11 capable, not all of them are, so Boost "1.x" still does have an audience and is, I'd posit, far from obsolete yet. Plus, monolithic Boost releases are a delivery mechanism that puts libraries into the hands of users who could otherwise not have heard of them, or not have had the opportunity to use them due to company policy that requires vetting each dependency. "Boost 1.x" is seen as one entity and this has its downsides but it also has its benefits. TL;DR: It's not that simple.