On 9 November 2017 at 22:35, Antoine Pitrou <solip...@pitrou.net> wrote:
> On Thu, 9 Nov 2017 04:22:20 -0800
> Raymond Hettinger <raymond.hettin...@gmail.com> wrote:
>>
>> Probably, we're the wrong people to be talking about this.  The proposal is 
>> to make these macros part of the official API so that it starts to appear in 
>> source code everywhere.  The question isn't whether the above makes sense to 
>> you and me; instead, it is whether other people can make heads or tails out 
>> the above examples.
>
> Generally I would advocate anyone wanting to write a third-party C
> extension, but not very familiar with the C API and its quirks, use
> Cython instead.  I'm not sure if that's an argument for the SETREF APIs
> to remain private or to become public :-)

I'm with Antoine on this - we should be pushing folks writing
extension modules towards code generators like Cython, cffi, SWIG, and
SIP, support libraries like Boost::Python, or safer languages like
Rust (which can then be wrapped with cffi), rather than encouraging
more bespoke C/C++ extensions modules with handcrafted refcount
management. There's a reason the only parts of
https://packaging.python.org/guides/packaging-binary-extensions/ that
have actually been filled in are the ones explaining how to use a tool
to write the extension module for you :)

For me, that translates to being -1 on making these part of the public
API - for code outside CPython, our message should consistently be "Do
not roll your own refcount management, get a code generator or library
to handle it for you".

Cheers,
Nick.

-- 
Nick Coghlan   |   ncogh...@gmail.com   |   Brisbane, Australia
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to