Boost logo

Boost :

Subject: Re: [boost] Formal Review of Proposed Boost.Histogram Library Starts TODAY
From: degski (degski_at_[hidden])
Date: 2018-09-26 05:40:33


On Tue, 25 Sep 2018 at 22:53, Hans Dembinski via Boost <
boost_at_[hidden]> wrote:

> thanks for catching this, the example in the README.md and in the Getting
> Started section is wrong.
>

As this issue caught my attention, I decided to read the readme.md. I think
you should remove the word modern in "modern C++11 design". I don't doubt
you designed it well, but 1. C++11 is not modern and 2. today's modern is
tomorrow's old (Boost.Histogram might not even make in into 1.69, which
will push it to 2019), just stick with "C++11 design", that's precise and
clear.

But, elaborating the above, are there any benefits [low hanging fruit] to
be had from C++14 and/or C++17. One I can think of, which would have
caught the example problem (at compile time), is the use of the
[[nodiscard]] attribute. As you can see, live here, it's a biggie. Then
there are static_assert's, extended constexpr (more compile time stuff),
noexcept and direct-list-initialization. Structured bindings is maybe
something as well [the buckets]. If you strive to make it "modern" (but
please don't talk about it), you should actually make it modern and
conditionally add C++17 features.

It is current Boost practice that the library maintainer can do whatever he
likes (summer-of-love-style), which I think is an abberation, but it seems
to me (and this was discussed in that rather heated discussion we had some
weeks ago), C++11 is (should be) the minimum standard for new library
contributions.

For the rest I would say, it looks [to me] useful (to many) and indeed
looks (relatively) simple (as defined per Boost practice, i.e. nothing is
ever really simple) to use. Robert has, rightfully so, dwelled upon this in
the past.

Just one last thing, it is (really) good that this example issue was caught
by that/the poster as beginners/first-time-users will be stumped by this
kind of thing and will do a RYO instead.

No review, but I vote to include! Thanks, Hans (as it looks like it will be
included from what I read so far).

Have a nice day,

degski

-- 
*“If something cannot go on forever, it will stop" - Herbert Stein*

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk