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 >