Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Another casualty of python 3?


Honestly, I think Python's C API exposing so much of the internals of the implementation is the real problem. You can basically see every pointer in every struct, including tons of things you shouldn't need. Large packages inevitably end up using some unfortunate detail which couples them tightly to CPython, and this makes using those packages with PyPy nearly impossible. The fact that PyPy got so many of those to work as well as they did (numpy stands out) is a testament to their talent and stamina.

I believe this is also a huge part of the reason why migrating from CPython version 2 to version 3 was delayed. I've adapted a few small C extension modules to run under both, and using #ifdef for the special cases to support both was unpleasant. So I imagine that any large package which needed to support both through the transition really suffered for it.


Python 3 has "limited API", which is much better in that regard.

https://www.python.org/dev/peps/pep-0384/




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: