We do have to care about more than just conda and Python. For R, for
example, C++14 support is limited:
https://cran.r-project.org/doc/manuals/r-release/R-exts.html#Using-C_002b_002b14-code

That's not to say that we can't try (if C++ devs wanted to, and I
can't speak for them), but it might be time-consuming (or worse) to
figure out what features are supported on all of the platforms and
languages that Arrow C++ intends to work for. That said, hopefully our
CI coverage is sufficient to let someone try it out and see what
breaks.

Neal

On Fri, Oct 4, 2019 at 9:05 AM Zhuo Peng <bril...@gmail.com> wrote:
>
> Dear Arrow maintainers,
>
> Sorry if this was raised before. I did search the mailing list but "C++" 
> matched too many results..
>
> With manylinux1 (GCC4.8) being sunset, both Conda and Pypa are providing a 
> modern enough toolchain (Conda Forge - GCC7; Pypa manylinux2010 docker - 
> devtoolset-8(GCC8)). And full C++17 support has been included in GCC7 [1]. I 
> wonder what are the concerns of adopting a newer standard?
>
> C++14 might not bring a whole lot of interesting features, but C++17 brings:
>
> std::string_view
> std::optional
> std::variant (the newly added Result class is based on some form of variant 
> implementation I suppose?)
>
> and many syntax sugar.. (like emplace_back() returning back(), so you can do 
> RETURN_NOT_OK(CreateArray(my_array_sp_vector.emplace_back())))
>
> And btw, was -std=gnu++11 an intentional choice? what gnu extensions does the 
> library rely on?
>
> [1] https://gcc.gnu.org/projects/cxx-status.html
>

Reply via email to