[Python-Dev] C API changes
Neil Schemenauer
nas-python at arctrix.com
Fri Nov 30 14:06:11 EST 2018
On 2018-11-29, Armin Rigo wrote:
> ...Also, although I'm discussing it here, I think the whole approach
> would be better if done as a third-party extension for now, without
> requiring changes to CPython---just use the existing C API to
> implement the CPython version.
Hello Armin,
Thank you for providing your input on this subject. I too like the
idea of an API "shim layer" as a separate project.
What do you think of writing the shim layer in C++? I'm not a C++
programmer but my understanding is that modern C++ compilers are
much better than years ago. Using C++ would allow us to provide a
higher level API with smaller runtime costs. However, it would
require that any project using the shim layer would have to be
compiled with a C++ compiler (CPython and PyPy could still expose a
C compatible API).
Perhaps it is a bad idea. If someone does create such a shim layer,
it will already be challenging to convince extension authors to move
to it. If it requires them to switch to using a C++ compiler rather
than a C compiler, maybe that's too much effort. OTOH, with C++ I
think you could do things like use smart pointers to automatically
handle refcounts on the handles. Or maybe we should just skip C++
and implement the layer in Rust. Then the Rust borrow checker can
handle the refcounts. ;-)
Regards,
Neil
More information about the Python-Dev
mailing list