$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Edward Diener (eldiener_at_[hidden])
Date: 2020-05-24 12:52:31
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.