So you'd want to be able to compile some of your program in Sun's Java, some in J Builder, and some in Visual J++, and have them all work together? Yeah, right.

But this does work. The binary format of java classes is strictly defined. Unlike the binary format of C++ "objects" or the name mangling schemes.

People get jar files (java's version of a library) all the time. It doesn't matter if they're compiled with jikes or sun's java compiler, they all work. C++ was the first language to toss binary interoperability out the window.