> many parts were written without the intention that those APIs would not
be used directly

>From the proceeding sentence, I assume you mean that many parts were not
intended for direct use?


I think my personal take is that I consider all parts of the C++ libraries
to be public. Otherwise, I have
trouble imagining how a C/C++ project benefits from Arrow or how to use it
before "the perfect API"
is available.

In general, I agree that higher-level APIs should be used where possible,
but when that can't be done it
seems clear that one would have to use the lower-level APIs, especially
while Arrow is still growing. In
addition, if I want to contribute to Arrow, I would also need to interact
with the lower-level API at some
point and I wouldn't necessarily want to start with trying to contribute
code before using it in my own
project(s).


Aldrin Montana
Computer Science PhD Student
UC Santa Cruz


On Thu, Sep 29, 2022 at 11:21 AM Will Jones <will.jones...@gmail.com> wrote:

> In a discussion about new additions to C++ docs, someone had a question:
> Should we even be documenting this?
>
> Long-time contributors to Arrow C++ noted that many parts were written
> without the intention that those APIs would not be used directly. Instead,
> they were intended as an implementation detail of the high-level bindings
> (such as Python, R, Ruby, and so on). This made sense early in the project,
> as I understand it, because the high level bindings had the most potential
> users and more libraries to collaborate with (for example, PyArrow +
> Pandas).
>
> However, we now have several projects that use the C++ libraries, so this
> older outlook on C++ as mostly being an internal library no longer makes
> sense.
>
> Which parts of the C++ libraries are considered public? And are we
> effectively delineating that for our users?
>

Reply via email to