Extension modules can be, and are, written in Rust and C++. And PyPy has a compatibility layer to run extensions (such as numpy) that are written for CPython.
The reason extension modules are typically in C is of course the API is in C, but that’s true of cffi
as well (though you’re right that cffi
is more portable). And the reason the API is in C is more fundamental than “CPython is written in C”.
Cool! Oracle, a company famous for making good-will decisions, and open to being “urged” into doing the right thing. 🙄
I suppose the open letter is a nice gesture, and I hope that the petition to cancel the trademark succeeds.