El 11/09/2024 a las 12:41, Zach Laine via Boost escribió:
These kinds of additions are pretty rare. Compare static_vector, flat_map, and the modification of optional to have the T& sepcialization to the number of library features added in the same time period that did *not* come from Boost. Also, all of those things are "old" in some sense. None of them was added in the last 10 years.
I'm not following the static_vector standardization, but in the flat_map case, the standardized std::flat_map is significantly different (split storage of keys and values) from the boost implementation, so I wouldn't say boost::container::flat_map is the base of std::flat_map (and IMHO reusing the same name will be a problem for C++ users).
3) The tools suck. Boost build and our doc chain are great once you have them set up, but are impenetrable to newcomers. They are non-standard, which is unavoidable for a doc chain (there is no de facto standard), but odd and disappointing when it comes to build (the world has standardized on CMake, for better or worse).
The way things work in Boost is doing the work. It's a federation of libraries so even if the Foundation might have a vision, the Foundation can only encourage or look for contributors that will do the work. Modifying 160+ libraries is no joke. When a project scales, changing direction is not easy/feasible, especially if it's a paid work.
That last point is very important. #4 is not a criticism, so much as pointing out a very different orientation of Boost vs. WG21. There's nothing wrong with this. It does however indicate that a new project, focused exclusively on road-testing new libraries bound for the standard, should be created. That project is Beman.
That's why I mentioned in my review that both projects should cooperate. Beman could take a Boost utility/library for the standard and Boost could take a Beman library (regardless of its inclusion in the final draft) and expand/improve it.
This is not accurate. I think the consensus among Beman participants is that Boost should do what Boost does well -- peer reviewed C++ libraries -- and Beman should do its thing -- provide a testing ground and distribution mechanism not for C++ libraries in general, but for C++ standard library entities *only*. These are very different aims.
I agree. Best, Ion