Visual J++


Visual J++ (pronunciado "Jay Plus Plus") es la implementación discontinuada de Java de Microsoft . La sintaxis , las palabras clave y las convenciones gramaticales eran las mismas que las de Java. Fue introducido en 1996 [1] y descontinuado en enero de 2004, [2] reemplazado hasta cierto punto por J# y C# .

La implementación, MSJVM, no pasó las pruebas de cumplimiento de Sun , lo que provocó una demanda de Sun, el creador de Java. Microsoft cesó dicho soporte para MSJVM el 31 de diciembre de 2007 (más tarde, Oracle compró Sun y, con él, Java y sus marcas comerciales). Sin embargo, Microsoft comenzó oficialmente a distribuir Java nuevamente en 2021 (aunque no incluido con Windows o sus navegadores web como antes), es decir, su versión de OpenJDK de Oracle, [3] que Microsoft planea admitir durante al menos 6 años, para versiones LTS, es decir a septiembre de 2027 para Java 17.

Si bien J++ se ajustaba a la especificación del lenguaje Java , Microsoft no implementó ciertas funciones de la implementación oficial de Sun Java en su línea de productos Visual J++. La invocación de método remoto (Java RMI) y la interfaz nativa de Java (JNI) son algunos ejemplos. [4] [5]

Además, J++ implementó otras extensiones que no formaban parte de la implementación de Java de Sun. La inclusión de devoluciones de llamada y delegados para el manejo de eventos contribuyó aún más a definir J++ como un lenguaje completamente diferente basado simplemente en un concepto de diseño ya existente.

Además, las aplicaciones J++ no se ajustaban al mismo método estandarizado de acceso a las funciones subyacentes del sistema operativo que cualquier otra aplicación Java bajo el SDK de Java de Sun. En la implementación de Microsoft , un marco subyacente llamado J/Direct proporcionaba un mecanismo base que permitía a las aplicaciones J++ eludir por completo las bibliotecas de clases y la API de Java para acceder al sistema operativo subyacente. Debido a este atajo en torno al marco Java original , las aplicaciones J++ fueron más eficientes para aprovechar las funciones de la API de Win32 que las aplicaciones Java.

Las aplicaciones J++ que utilizan estas funciones no se podían ejecutar en el SDK de Java de Sun, pero el proyecto Kaffe desarrolló extensiones que permitieron ejecutar aplicaciones J++ con estas funciones en su JVM de código abierto . Sin embargo, estas extensiones (implementadas por TransVirtual con fondos de Microsoft) no se usaron mucho, y las aplicaciones J ++ aún debían compilarse en Visual J ++ antes de que Kaffe pudiera ejecutarlas. [6] [7]