Mixed language development
Yesterday while reading a back issue of C/C++ Users Journal I’ve discovered an scripting language interface generator tool called SWIG. It is so simple! By compiling C++ header files it can generate wrappers of your classes to be used from scripting languages such as Ruby Python, Tcl, Perl or even C#, Java … all this with an amazing degree of transparency.
C++ exceptions can be translated to Ruby exceptions, smart pointers namespaces, template instantiated types are supported, inheritance and type safety: runtime enforced but hey this interfaces with a script language so it can not get any better.
You can develop an application in Ruby and enjoy rapid development that comes from an interpreted environment and use C++ for performance critical code. Or use Ruby to allow your users to flexibly connect a basic set of efficient components in a variety of ways you have not anticipated at all.
