Sounds as a perfect set-up for chaos?
Take a financial object, like a barrier option (up-and-out, up-and-in, ... down-and-in, double, ..). It might be valued by a Black Scholes model, extended with a volatility surface (Dupire) or stochastic volatility (Heston) and jump diffusion (Bates). All represented by SDE or PDE/PIDE, solved by Montecarlo simulation, (poor) PDE solvers like tree based methods, or better ones with finite elements, improved by upwind techniques, .. in Mathematica, C++, C#, Java, ... improved over time ... heeelllpp?
There is a simple but powerful solution.
Declare objects-models-representations in Mathematica's programming environment, integrate your special solvers into it and manage and deploy projects in the Wolfram Workbench2 that integrates with Wolfram technologies for a complete development solution. This includes hybrid language developments. The Workbench supports Subversion for configuration management.
That completes what we need when developing UnRisk in Mathematica, C++ and Java, managing financial instruments, models, methods and implementations in releases orthogonally.
Not surprisingly, UnRisk 4 (released in Oct-09) is the 18th major release since we have launched UnRisk end of 2001. UnRisk 4.1 to come before summer. Integrating hundred-thousands of lines of Mathematica, Java and C++ code.
And we are a quite small outfit that benefits from a short history of being lucky, namely having selected the most advanced platform at the right time. Wolfram technologies.