ned Productions Consulting

Technology musings by Niall Douglas
ned Productions Consulting
(an expert advice and services company based in Ireland)

Sunday 3rd May 2015 3.35am

Just finished my C++ Now 2015 presentation with exactly one week to go! Currently 90 slides for a 90 minute long presentation, I had originally been worried I'd be boring but I think, even if I do say so myself, that this will be one of the more interesting talks at C++ Now this year. It reviews ten C++ 1114 only libraries close to entering Boost, three of which in detail (Boost.AFIO, Boost.Fiber, Boost.DI) and one in very great detail (Boost.APIBind), indeed I spend about 45 slides on APIBind as I believe it provides the foundation stone for a fully modular C++ 11 only Boost 2.0 branch with very significant improvements over Boost 1.0. I also draw some sweeping personal general opinions from the ten library review, and I'll try to answer these questions:

* Why do these libraries require C++ 11 or 14? From an end user perspective.

* Is there a common theme of the most popular C++ 1114 features used?

* Is there a common theme in choice of library design and use of third party libraries?

* Are there techniques used in one library which would make a lot of sense to be used in another library, but for some reason are not?

* Do these new libraries take notice of one another and integrate themselves well with other libraries, or are they ivory towers?

* How many of these forthcoming libraries explicitly seek to contribute to future C++ standardization?

Boost only a few years ago was in a state of sickly malaise after the exit of several big names who had dominated it since its inception. Indeed, in 2013 no new libraries had entered in two years, and nobody could say if Boost was going to be the venue for the next generation of C++ 1114 libraries approaching standardisation or whether some other venue (especially WG21 itself) would take over.

Since 2013 seventeen new libraries have either entered Boost or entered the formal review queue, almost a third of which are C++ 1114 mandatory libraries, whilst WG21's efforts to invent new libraries have not panned out well to date. Traffic on the Boost mailing lists which had become anaemic has once again returned to mass-delete-without-reading levels. It looks like Boost is going to remain the place to be for the highest quality C++ libraries, especially those intended for eventual standardisation.

The big question is whether the C++ 1114 mandatory libraries are so different from the 9803 libraries in design and philosophy that a C++ 1114 only Boost 2.0 distribution is warranted? +Robert Ramey will be presenting on his vision for Boost 2.0 at C++ Now 2015, and he kindly has allowed me to add my ha'pennies worth after he finishes during which I will summarise my empirical findings from the ten library review. So watch out for the recorded videos!