J# is syntax-compatible enough with Java that you can port large portions of
applications without changing code. This is supposed to help support the
Visual J++ guys, but also to ease the transition from Java to .NET.
Losing all your source code is a big barrier to upgrading. Talk to a VB6
programmer some time about that! ;-)