Boost logo

Boost :

Subject: Re: [boost] New library proposal: Autodiff
From: Vinnie Falco (vinnie.falco_at_[hidden])
Date: 2018-12-19 19:07:06


On Tue, Dec 18, 2018 at 1:09 PM Matt Pulver via Boost
<boost_at_[hidden]> wrote:
> - Github: https://github.com/pulver/autodiff

Minor nit, your local git credentials are not configured correctly,
that's why your commits are not attached to your GitHub account in
your commit log (set `git config --global user.email` and `git config
--global user.name` to match your GitHub login).

<https://github.com/pulver/autodiff/commits/master>

> - C++17 compiler that supports constexpr if statements. There are a fair
> amount of calculations done at compile-time which would require messy
> SFINAE hacks to make this C++14-compatible.

I know my position is unpopular, but I don't think this is a good
tradeoff. Supporting C++11 certainly requires more work on the
author's part but that is a finite investment. The return on this is a
practically unbounded amount of utility, as the number of users is
normally expected to greatly outnumber the amount of authors (1 in
this case). In fact you could argue that there is infinite utility in
laboring to produce "messy SFINAE hacks", because otherwise users of
C++14 and C++11 cannot use the library at all. Most users only care
that the library works, and are unaffected by the particulars of the
sausage-making.

In general, I feel like it is a good engineering practice for Boost
libraries to only require C++14 or C++17 when absolutely necessary. In
this case it does not seem necessary. This year's developer surveys
indicate that C++11 has the most widespread use:

<https://www.jetbrains.com/research/devecosystem-2018/cpp/>

<https://isocpp.org/files/papers/CppDevSurvey-2018-02-summary.pdf>

It seems like doing the more verbose C++11-style SFINAE is worth it,
to have access to the larger base of C++ users. This opinion is my
own, and I will note that (roughly speaking) the Boost library policy
does not currently mandate support for any specific versions of C++.

Regards


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