|
|
|
|
|
by mynegation
5405 days ago
|
|
If it shows anything, it is a horrible language design of C++. I wrote a C++ front-end long ago, and it is excruciating. Later, when I had to write native code to speed up Python, I always used plain old C and swig worked flawlessly. |
|
The key was to handle the resulting Python module as a low level C wrapper effectively allowing us to write "managed C" in Python, which we encapsulated neatly in a library with a much more pythonic API. We then naturally went all the way up and implemented SQL-like API (no parser, just methods) and a Django model subset. A SQL subset parser and DBAPI compliance were planned features. All of that allowed us to develop new features in Python and on Django while maintaining compatibility with the old components (also thanks to Django multi-db support) and making the planned switch to a complete SQL database a drop-in replacement.