Sorry for a "one more thing email" but I had one more thought
regarding R 3.6 support for Windows.  I think those users should
continue to be able to use Arrow 10.0.0.  So this would only be an
issue if we detected a critical bug in 10.0.0 (which we could backport
if it was bad enough) or if they wanted to use newer features (which
could be an incentive to upgrade their R version).

On Wed, Aug 17, 2022 at 4:30 AM Weston Pace <weston.p...@gmail.com> wrote:
>
> +1.  I'm very much in favor of upgrading to C++17.  I am lucky to
> often get to work with people that are new to the Arrow C++ code base
> and a common feedback is that the code is quite complex.  While I do
> not think moving to C++17 will solve this problem by itself I'm pretty
> confident that being able to remove SFINAE (if constexpr), remove some
> of our backports (optional, string_view), and move into lambda
> captures would all help reduce this complexity.
>
> In addition to allowing engineers like myself to better understand the
> code base it would also, I think, be a small boost in helping to
> attract talented C++ developers into working on the code base.  Being
> forced to reinvent or workaround features that have been efficiently
> solved in a newer version of the language is a discouraging
> experience.
>
> Finally, I have been interviewing C++ engineers as a part of my job
> and I think we have reached a point where the average interviewee has
> been working on a C++17 code base.  They either won't have experience
> with C++11 or will view it as a step backwards.  This is somewhat
> backed up by quantitative data such as JetBrains surveys[1][2] which
> reports that C++11 usage has gone from 61% in 2019 to 40% in 2021
> (with 50% of C++11 respondents stating they plan to migrate to a newer
> version in the next year).
>
> In summary I think the change is important to recruit, and keep the
> interest of, talented C++ developers.
>
> [1] https://www.jetbrains.com/lp/devecosystem-2019/cpp/
> [2] https://www.jetbrains.com/lp/devecosystem-2021/cpp/
>
> On Wed, Aug 17, 2022 at 4:23 AM Matthew Topol
> <m...@voltrondata.com.invalid> wrote:
> >
> > I can definitely vouch for the benefits of upgrading to C++17, it makes
> > general development significantly more enjoyable!
> >
> > On that end, I second Neal's suggestion for deployment, that's roughly
> > the same plan we used in my past experience when performing a compiler
> > upgrade on a very large codebase.
> >
> > --Matt
> >
> > On Wed, Aug 17 2022 at 08:45:34 AM -0500, Neal Richardson
> > <neal.p.richard...@gmail.com> wrote:
> > > I have no opinion about the benefits of upgrading to C++17. From the R
> > > perspective, there are a handful of packages on CRAN that require
> > > C++14 or
> > > C++17. Last year, when I asked other R package maintainers why they
> > > hadn't
> > > upgraded to newer C++ standards, the reasoning was that because many
> > > packages try to support the 5 last versions of R, the Windows 3.6
> > > issue is
> > > still limiting, at least if you hope to be a package that others
> > > depend on.
> > > But I don't think this is an argument to prevent us from upgrading: R
> > > package developers have been more likely to take on `arrow` as an
> > > optional
> > > dependency, if at all, given the size/complexity of the build.
> > >
> > > Here's a tactical suggestion: for 10.0, we could upgrade all* of our
> > > packaging and CI jobs to build with C++17, but not add code that
> > > cannot
> > > compile on C++11 (hence the *, we will need to maintain at least one
> > > C++11
> > > CI job to assure that). Then, assuming there are no adverse
> > > consequences,
> > > we can start upgrading the codebase to C++17, and 11.0 would be the
> > > first
> > > release that can't build on C++11.
> > >
> > > Neal
> > >
> > > On Wed, Aug 17, 2022 at 3:56 AM Antoine Pitrou <anto...@python.org
> > > <mailto:anto...@python.org>> wrote:
> > >
> > >>
> > >>  Le 17/08/2022 à 10:48, Jacob Wujciak a écrit :
> > >>  > I am generally in favour of this proposal but would like to
> > >> mention that
> > >>  we
> > >>  > have to be able to build on MacOS 10.13 for the R package due to
> > >> CRAN
> > >>  using
> > >>  > it.
> > >>  > The CRAN builder comes with:
> > >>  > Apple LLVM version 10.0.0 (clang-1000.10.44.4); GNU Fortran (GCC)
> > >> 8.2.0
> > >>
> > >>  Well, I can't say for sure, but according to this StackOverflow
> > >> post it
> > >>  would probably be ok:
> > >>  <https://stackoverflow.com/a/54030282>
> > >>
> > >>  Do we have CI for that macOS platform?
> > >>  Do you know which XCode version that Apple LLVM version corresponds
> > >> to?
> > >>
> > >>
> >

Reply via email to