On 11/27/2020 3:58 AM, Antony Polukhin via Boost wrote:
Hi,
== The problem. TL;DR: we are having huge troubles with usability and popularity!
Quite a lot of companies forbid using Boost because: * it provides vocabulary types, that should be the same across the whole project (like shared_ptr, filesystem::path or optional). Otherwise it's hard to combine different APIs * it is huge, in consists of legacy on more than a half, with a lot of dependencies between libraries. This is extremely painful for big companies, because there's no efficient distributed build system. Each company invents it's own and/or tries to minimize headers by all means.
New companies (startups) also avoid Boost: * "We are using C++17, we do not want legacy libraries with C++98 support"
If a library provides support for C++98/2003 but also works perfectly fine using C++17, please explain to me what is wrong with using that library when compiling for C++17 ? Thank you !
* Junior developers are confused by multiple vocabulary types. "Should we use boost::optional or std::optional?"
See CXXD ( https://github.com/eldiener/cxx_dual ) or always use standard libraries when available.
* hard to upgrade, because symbols are not versioned
Versioned symbols ?