On the other hand, if you are using MS C++, and want to move gradually to a more modern language, what about this:
Move to CLI++ (i.e. the new MS Managed C++, not the old one which came out with 1.1). That gives you your entire codebase, still in C++, but running within a managed environment. Then:
- write new bits in C# if you like - re-write some old bits in C# if you like
In both cases, you should get relatively seamless interop between new code and old. If you haven't read about the new MS Managed C++, look it up. Its a vast improvement on the older one. (No more "standard" than any other MS C++, but an impressive feat in terms of combining good C++ and good.NET support in a single language).
Admittedly this is not Java at all. But it does give you a very smooth migration path to a Java-like language - with no need for any "big bang" re-write. (Of course, if your boss _wants_ a big-bang re-write, that's another story... both in terms of how you might do it, and whether you _should_ do it!)
On the other hand, if you are using MS C++, and want to move gradually to a more modern language, what about this:
.NET support in a single language).
Move to CLI++ (i.e. the new MS Managed C++, not the old one which came out with 1.1). That gives you your entire codebase, still in C++, but running within a managed environment. Then:
- write new bits in C# if you like
- re-write some old bits in C# if you like
In both cases, you should get relatively seamless interop between new code and old. If you haven't read about the new MS Managed C++, look it up. Its a vast improvement on the older one. (No more "standard" than any other MS C++, but an impressive feat in terms of combining good C++ and good
Admittedly this is not Java at all. But it does give you a very smooth migration path to a Java-like language - with no need for any "big bang" re-write. (Of course, if your boss _wants_ a big-bang re-write, that's another story... both in terms of how you might do it, and whether you _should_ do it!)