Work by J++
Visual J++ (pronounced "Jay Plus Plus") was Microsoft's specific implementation of Java. Syntax, keywords, and grammatical conventions were the same as Java's. While J++ conformed to the Java standard in its language specification, Microsoft did not implement certain features of the official Java standard into its own Visual J++ product line. Remote Method Invocation (Java RMI) and Java Native Interface (JNI) are such examples.
In addition, J++ implemented other extensions that were not part of the Java standard. The inclusion of callbacks and delegates for event handling further contributed to defining J++ as a completely different language merely based on an already existing design concept.
Furthermore, J++ applications did not conform to the standardized method of accessing the underlying operating system functions as any other Java application under Sun's Java SDK. In Microsoft's implementation, an underlying framework called J/Direct provided a base mechanism that allowed J++ applications to completely circumvent Java's class libraries and API media in accessing the underlying operating system. Due to this short-cut around the original Java framework, J++ applications were more efficient in taking advantage of Win32 API functions than Java applications.
J++ applications using these specificities could not be run on Sun's Java SDK, but the Kaffe project developed extensions which made it possible to run J++ applications with these specificities on their open sourced JVM. However, these extensions (implemented by TransVirtual under Microsoft funding) were not widely used, and J++ applications still needed to be compiled on Visual J++ before being able to be run by Kaffe.