• @[email protected]
    link
    fedilink
    83 days ago

    The reason C becomes relevant to Python users isn’t typically because the interpreter is written in C, but because so many important libraries (especially numpy) are implemented in C.

    • @[email protected]
      link
      fedilink
      English
      22 days ago

      Extension modules are implemented in C because the interpreter is written in C. If it were written in another language, folks would write extension modules for that language instead. Also, it would be less relevant if people used portable C bindings like cffi, which are portable to PyPy and other interpreters… but they don’t.

      • @[email protected]
        link
        fedilink
        12 days ago

        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”.

    • @_stranger_
      link
      43 days ago

      Oh for sure, and some of those are not ok with swapping the interpreter out 🤣