On 11/26/23 04:55, Vinnie Falco via Boost wrote:
On Fri, Nov 24, 2023 at 12:58 PM Дмитрий Архипов via Boost
wrote: Boost.Scope is a small library implementing utilities defined in
from C++ Extensions for Library Fundamentals v3 with a few extensions. So... "with a few extensions." I would like to have a discussion about this. Over the years I have seen little problems pop up with libraries that mirror C++ standard library components where we can't deprecate the library or suggest that users switch to the std alternative, because Boost has "added a few extensions." I can't recall any particular examples but I know they exist.
Since this Boost.Scope is not yet published, do we really want to be adding extensions to std components? A common complaint is that Boost duplicates functionality that exists in the standard. If we offer extensions this only furthers the rift and creates friction for switching back and forth.
What do you all think?
I think there's little point in introducing new libraries that are predetermined to be locked down to be strictly equivalent to the standard C++ components. We already have Boost.Compat for that. New libraries should allow for innovation and must not be limited by the current standard. The fact that some Boost libraries that now have standard counterparts have certain extensions is a good thing because it offers users a choice and provides them the functionality they need. The fact that the standard doesn't provide that functionality (provided that it is needed by users) is a deficiency of the standard, not the Boost library. Specifically regarding Boost.Scope, the extensions I made are what makes these components practically useful in my real code base. That is, I find the standard components too limiting or inconvenient to be useful in practice.