While working with compiled code is usually absolutely fine, there can be some significant downsides. Let's take a look at them:
- First and foremost is the fact that it's easy to create ridiculously weird bugs when we work at this level of compiled code. Both ctypes and Cython allow us to make a horrible mess in the program's memory, potentially producing any conceivable kind of bug or error. The following diagram illustrates an example of a potential low-level bug. You can imagine how difficult it would be to troubleshoot such bugs.
If we're lucky, that bug or error would result in a flat-out termination of ...