Java no es un lenguaje de programación. Java no es ANSI
Java no es un lenguaje de programación. Java no es ANSI
Este artículo permanecerá enterrado entre los miles de resultados que Google nunca muestra de forma destacada. Y todo por culpa de su título: «Java no es un lenguaje de programación». Pero lo cierto, lo realmente importante es comenzar a llamar a las cosas por su nombre y por tanto: Java no es un lenguaje de programación estándard. Java no es ANSI, como lo puede ser el lenguaje ANSI C, ANSI C++ o ANSI COBOL. Existe un ANSI C y existe un ANSI COBOL, de la misma forma que existe ANSI SQL, y ANSI ADA. Y no, no existe un ANSI Java. De la mimsa forma que tampoco existe un ANSI Microsoft Windows. Observa que aunque no sepas lo que significa ANSI no pega mucho con ANSI Microsoft.
ANSI. Instituto Nacional Estadounidense de Estándares
El Instituto Nacional Estadounidense de Estándares, más conocido como ANSI (por sus siglas en inglés: American National Standards Institute), es una organización sin fines de lucro que supervisa el desarrollo de estándares para productos, servicios, procesos y sistemas en los Estados Unidos. Decir Estados Unidos en lo que respecta al mundo de la Informática es casi como hablar de medio mundo pero es que además ANSI es miembro de la Organización Internacional para la Estandarización (International Organization for Standardization, ISO) y de la Comisión Electrotécnica Internacional (International Electrotechnical Commission, IEC). ANSI acredita a organizaciones que realizan certificaciones de productos o de personal de acuerdo con los requisitos definidos en los estándares internacionales. Los programas de acreditación ANSI se rigen de acuerdo a directrices internacionales en cuanto a la verificación gubernamental y a la revisión de las validaciones.
ANSI acredita a organizaciones que realizan certificaciones de productos o de personal de acuerdo con los requisitos definidos en los estándares internacionales. Y no, Java no está acreditada como un estándard.
¿Es malo, doctor?
¿Es negativo que Java no sea un estándard? Positivo no es, desde luego. JAVA está en manos de Oracle, punto. Puede desaparecer mañana mismo si Oracle lo decide. ANSI C o ANSI C++ no. No dependen de una empresa o multinacional. A estas alturas no confundamos ser un estandard con ser software libre. Existe un proyecto: OpenJDK. OpenJDK (Open Java Development Kit) es una implementación gratuita y de código abierto de Java Platform, Standard Edition (Java SE). Es el resultado del proyecto que Sun Microsystems comenzó en 2006. La implementación tiene licencia GPL-2.0 únicamente con una excepción de vinculación. Si no fuera por la excepción de vinculación GPL, los componentes que se vinculan a la biblioteca de clases de Java estarían sujetos a los términos de la licencia GPL.
Y ciertamente, OpenJDK es la implementación de referencia oficial de Java SE desde la versión 7. El proyecto OpenJDK produce una serie de componentes muy importantes: los más destacados son la máquina virtual (HotSpot), la biblioteca de clases de Java y el compilador de Java (javac). El complemento del navegador web y Web Start, que forman parte de Oracle Java, no están incluidos en OpenJDK. Sun indicó anteriormente que intentaría abrir estos componentes, pero ni Sun ni después Oracle lo han hecho.