On 5/24/2020 4:20 AM, Joaquin M López Muñoz via Boost wrote:
El 23/05/2020 a las 22:46, Edward Diener via Boost escribió:
On 5/23/2020 5:56 AM, Joaquin M López Muñoz via Boost wrote:
Hi,
Prompted by general feelings about Boost perceived lack of modernization and internal "bloat", and after an explicit survey on what users dislike about Boost [1], I decided to try and write a more or less fleshed out proposal for an epoch-based organization of Boost libraries. I've extensively tested and refined the proposal during discussions on Reddit and the Boost Slack channel, and I feel this is now ready for presentation at the mailing list:
https://github.com/joaquintides/boost_epoch/blob/master/README.md
I hope the proposal can start a productive conversation. Looking forward to your feedback.
I wrote cxx_dual [...]
I do believe people overreact to dependencies, however. All good software design involves reusing established code when necessary. Reinventing code simply for the sake of less dependencies has always seemed to me a fool's game, unless there is a very good practical reason for not using established code.
In this particular case, there are two establshed codes: Boost and std. Seems like some end users strongly favor the latter as it's not perceived as a real dependency in the sense that additional libs need be downloaded etc.
I am totally against the idea that some code which works perfectly in C++03, as well as all other C++ standard levels, needs to be unnecessarily updated to some later C++ standard level in order to be acceptable to anyone.
This looks somewhat at odds with one of the stated goals of your cxx_dual lib:
"On a more practical basis the CXXD library is for:
1. Programmers writing code not using C++11 syntax who still want to target some C++11 libraries if the code is compiled in C++11 mode. [...]"
I do not see why you think the statement above is at odds with what I previously asserted. Whatever might have been added to a Boost library which became a C++ standard library in C+11 or beyond could hardly have been done just to add unnecessary features. I am not against a library being updated to use features of a later C++ standard when those updates are predicated on improving a library in specific ways that make it worthwhile to add such features. The gist of your proposal which seems to me to be highly flawed is the idea that at a certain Epoch level all dependencies of a library must also exist at that same Epoch level or higher. How realistic is such a goal ? If library X at Epoch level nnn successfully uses library Y at Epoch level nnn-1, why should library Y be arbitrarily updated for no good practical reason to use C++ features of Epoch level nnn ? I am pretty sure you can see the absurdity of such a determination as that.