Eine häufig gehörte Bemerkung, wenn es um Leistung geht, ist, dass man seinen Code in der Sprache schreibt, mit der man die Aufgabe am schnellsten erledigen kann. Wenn die Leistung in bestimmten Bereichen ein Problem darstellt, dann schreiben Sie diese Teile in C/C++ um.
Was aber, wenn Sie mit einer nativen C++-Anwendung beginnen? Welche Möglichkeiten haben Sie, wenn Sie die einfachen Teile in einer Sprache wie Python, Ruby, C# oder einer anderen Sprache schreiben oder die alten Teile umgestalten wollen? Denken Sie daran, dass die Übertragung von Daten zwischen der nativen und der anderen Seite ein Muss ist. Es wäre schön, wenn man einfach eine Funktion aufrufen könnte, die in einer "einfacheren" Sprache geschrieben wurde, und dabei C++-Klassen als Daten übergeben könnte.
Wir haben eine verkrustete Win32-Anwendung, die sehr davon profitieren würde, wenn wir neuen Code in C# oder ähnlichem erstellen oder alten Code überarbeiten könnten. Nur sehr wenig davon erfordert die Komplexität von C++, und der Umgang mit den kleinen kniffligen Bits zieht den Programmierprozess in die Länge.