On 28/11/2023 18:41, Andrzej Krzemienski via Boost wrote:
Users vastly prefer even the "defective" std components over the theoretically-better boost components, simply by virtue of them being in the standard, with all of the benefits this brings. Education, documentation, ubiquity, and so on, for std components is orders of magnitude more robust than the boost equivalent. This more than makes up for any perceived deficiencies. Like it or not, vocabulary types and algorithms which make it into std are going to have an enormous advantage over any third party code.
I think the pendulum may swing back in the next few years. To explain why, it's probably not widely known yet, so I shall make it so now: I intend to quit LEWG when the C++ 26 IS cutoff occurs early 2025, and I will only be around LWG until my papers finish wording. After that I'm done with WG21, all my papers not into LWG I'm dropping on the floor. I've had enough with how things are done at WG21 - it's a poor use of my scarce free time. Why? I think WG21 has become ever increasingly awful at library standardisation since C++ 14 onwards. There is a lot of design-by-committee, and if we were good at it, great, but we really really are not good at it. Every major standard library addition since C++ 14 onwards has had at least one easily fixable major design flaw in my opinion. Boost has repeatedly moved to implement those standard library additions, but **fixed** WG21's mistakes either immediately or within a short period of time. One of the most egregious examples in my opinion is `std::variant` where the whole valueless by exception footgun was 100% avoidable, and Boost.Variant2 immediately eliminated that footgun. This is hardly an isolated example: Boost's `shared_ptr` is less footgunny than `std::shared_ptr`. Boost's Optional is arguably more footgunny than `std::optional`, but a lot of people think its extensions are worth it. I could go on (e.g. `boost::error_code` over the fundamentally unsafe `std::error_code`), but you get the idea. I think that as WG21's increasing dysfunction at standardising library becomes more obvious to the C++ ecosystem, the need for fixed standard library facilities will grow because the standardised ones will become toxic to use in newly written code. I think Boost is as good as anywhere to be the natural source for fixed standardised library facilities. So **PLEASE** Boost keep doing what it's doing, keep standardising standardised library facilities, because you're a hell of a lot better at it than WG21 in my opinion. (For anybody interested, I'll be moving in 2025 over to the C committee, where I think my time and energies will be far more effectively used than what WG21 is capable of allowing me to achieve. I actually believe I'll have more impact on C++ from WG14 than I ever could at WG21 due to WG21 having become so dysfunctional. Before anybody emails privately to ask, yes Herb and Inbal knows my thoughts and feelings here in substantial detail, and they both know I'm moving on in 2025) Niall