Caveat - none of this work is full time

When we started prototyping our next generation molecular modeling
tool, we started with the software technologies that were familiar to
us.  The result was difficult to prototype with, didnt run on all of
the platforms we wanted it to (OpenInventor), but was fast.

Then we discovered Python and Tk.  As I mentioned before, we had been
looking for something like Python for a scripting language.  We rewrote
our prototype, switching to only OpenGL for portable graphics, and
ended up with a great tool for prototyping, ran on all of our target
platforms, but was extremely slow.  Python does really well for 10s and
100s of items, but bogs down for 1000s and 10000s.  This version had a
small amount of  C++ code that was exposed to the Python interpreter,
small enough that we generated the Python interface to it by hand.

Even though we were still in the prototype stage, we knew we had to
address the performance problem, or wed end up with a nifty but
unusable product.  Profiling and converting inner loops into C/C++ gave
us a 2x-10x speed improvement, but that wasnt nearly fast enough.  We
knew we could do better, because we had our old, less capable, software
written in C to compare against.  Our revised design put a lot more of
the core functionality into C++, now we needed an automated way to make
that functionality accessible from Python.

IPC6 - International Python Conference 6, October 14-17, 1997 San Jose

There has been a lot of interest in the Python community in using C++
for Python extensions.  And there are several tools that address
various parts of the problem.  All were inspirational.

All tools help by eliminating bugs due the repetitive task

SWIG is exceptional.  The documentation was very helpful.  I believe
that David Beazley still understands the problem of automatic wrapper
generation better than I do.

CXX provides a C++ version of the Python C API.  It is an excellent
tool if you are writing extensions by hand.

Python<C++> came from posting

not supported:
     class static data global variables templates



