[pypy-dev] Why CFFI is not useful - need direct ABI access 4 humans

Roberto De Ioris roberto at unbit.it
Sun Mar 30 11:26:01 CEST 2014

> On Sat, Mar 29, 2014 at 3:58 PM, Markus Unterwaditzer
> <markus at unterwaditzer.net> wrote:
>> On Sat, Mar 29, 2014 at 02:49:00PM +0300, anatoly techtonik wrote:
>>> I know what C in CFFI stands for C way of doing things, so
>>> I hope people won't try to defend that position and instead
>>> try to think about what if we have to re-engineer ABI access
>>> from scratch, for explicit and obvious debug binary interface.
>>> CFFI is not useful for Python programmers and here is why.
>>> The primary reason is that it requires you to know C.
>> You're using C if you're calling it from Python. Knowing the language
>> (to some
>> degree) when using it is inevitable.
> This is the problem that I've tried to describe:
>      All standard Python tools for ABI level access require C knowledge.
>>> And knowing C requires you to know about OS architecture.
>> The PyPy team (especially fijal) has always strongly discouraged from
>> porting Python code to C for performance. If you have a good reason to
>> use C,
>> it is not surprising that you're going to be confronted with the dangers
>> of
>> such a language. I am not sure if you're trying to make a point against
>> C or
>> CFFI here.
> Against C. As I said, CFFI is good, but not enough to work conveniently
> with
> binary interfaces, and the reason for that is that it is C-centric.

Hi, (disclaimer: i have worked a lot with cffi, and i basically love it
because most of my projects are in C and i need to interface with them), i
am not sure to follow you. You seem to mix C with binary/structures
manipulation. CFFI is for integration between PyPy/Python and C
interfaces, so using C (or something really near to it) is its main

If your problem is with structures manipulations, i totally agree, the
python world need something better (unless i am missing some project
regarding it), but this is totally irrelevant in the CFFI area.


Roberto De Ioris

More information about the pypy-dev mailing list