Steve Dower wrote:
On 11Apr2020 0025, Antoine Pitrou wrote:
On Fri, 10 Apr 2020 23:33:28 +0100
Steve Dower firstname.lastname@example.org wrote:
On 10Apr2020 2055, Antoine Pitrou wrote:
On Fri, 10 Apr 2020 19:20:00 +0200
Victor Stinner email@example.com wrote:
Note: Cython and cffi should be preferred to write new C extensions. This PEP is about existing C extensions which cannot be rewritten with Cython.
Using Cython does not make the C API irrelevant. In some applications, the C API has to be low-level enough for performance. Whether the application is written in Cython or not.
It does to the code author.
The point here is that we want authors who insist on coding against the C API to be aware that they have fewer compatibility guarantees [...]
Yeah, you missed the point of my comment here. Cython *does* call into the C API, and it's quite insistent on performance optimizations too. Saying "just use Cython" doesn't make the C API unimportant - it just hides it from your own sight.
It centralises the change. I have no problem giving Cython access to things that we discourage every developer from using, provided they remain responsive to change and use the special access responsibly (e.g. by not touching reserved fields at all).
It appears to me that this whole line of argument is contradicting the purpose of the whole idea. What am I missing?
For one thing, if you open up APIs for Cython, they're open for everybody (Cython being "just" another C extension). More to the point: The ABIs have the same problem as they have now, regardless how responsive the Cython developers are. Once you compiled the extension, you're using the ABI and are supposedly not required to recompile to stay compatible.
So, where I'm getting at is: Either you open up to everybody or nobody. In C there's not really an in-between.