Java cumple 25 años

Con la llegada de Java 16 se cumplen 25 años de presencia desde que apareció este lenguaje de programación, que desde entonces se ha convertido en el número uno en el mundo.

Oracle ha presentado hoy Java 16, en coincidencia con el 25º aniversario de su aparición, por lo que es un buen momento para efectuar un recorrido por los cinco lustros de existencia del lenguaje de programación número uno del mundo.

Una de las características que merece la pena mencionar inicialmente tiene que ver con la regularidad en cuanto a la aparición de las distintas evoluciones de Java. Las versiones de Java han aparecido desde 1995 a 2017 espaciadas en periodos de 1 a 3 años, con una única excepción (entre 2006 y 2011), pero siempre presentando avances y actualizaciones parciales cada 6 meses, lo que permite poder efectuar pequeños ajustes en este breve lapso de tiempo mientras que, adicionalmente, Java puede liberar sus avances sin esperar más tiempo hasta que llegue una nueva generación completa.

Esto ha propiciado una evolución en avance constante en lugar de a base de pequeños o grandes saltos. De hecho ya a partir de septiembre de 2017 se establece por parte del jefe de arquitectura de la plataforma Java, Mark Reinhold, que el calendario pase a quedar establecido definitivamente como una mejora cada seis meses en lugar de una actualización completa cada dos años del JDK (Java Development Kit).

La historia de Java
  • JDK 1.0: La primera versión de Java aparece el 19 de febrero de 1996
  • JDK 1.1: Al año siguiente comienzan las mejoras con las por entonces populares Java Beans, capaces de encapsular múltiples objetos en uno solo, y los RMI (métodos remotos de invocación) o el compilador JIT (Just In Time) para Windows.
  • J2SE 1.2: En 1998 apareció Java 2 Platform Standar Edition, que en su denominación buscaba distinguirse de Java 2 Platform Enterprise Edition  (J2EE) y de Java 2 Platform Edition (J2ME). Supuso la adición de un buen número de funciones, tales como la integración de la API gráfica Swing, el compilador JIT para Sun Microsytems o los plug-in de Java. El nombre en código de esta versión era Playground.
  • J2SE 1.3: Con el nombre en código Kestrel, apareció en mayo del año 2000 y sus novedades principales fueron la máquina virtual para servidores HotSpot, la compatibilidad del RMI con CORBA o la incorporación al núcleo de librerías JNDI (Java Naming and Directory Interface) que previamente aparecían como una extensión.
  • J2SE 1.4: Fue la primera actualización desarrollada bajo la Java Community Process. Apareció en febrero de 2002 y su nombre en código era Merlín. Como novedades añadió la inclusión de expresiones procedentes de Pearl, soporte del protocolo IPv6 para navegación en Internet, integración de XML y XSLT, extensiones para seguridad y protección con criptografía JCE, JSSE y JAAS y el revolucionario Java Web Start, un marco de referencia desarrollado por Sun Microsystems que permite al usuario iniciar una aplicación para Java directamente desde Internet mediante un navegador web.
  • J2SE 5.0: Desarrollado con el código Tiger, inicialmente iba a ser presentado bajo la numeración 1.5 pero se decidió dar el salto a 5.0 para demostrar la madure y estabilidad del lenguaje, aportando un numeración que aún se mantiene. Llegó al público en septiembre de 2004 y supuso un importante paso adelante con inclusiones clave para este lenguaje de programación tales como los metadatos, la conversión automática de las instrucciones previas, las instrucciones para ordenar enumeraciones, la mejora semántica en la ejecución de programas de múltiples cadenas de instrucciones, además de grandes mejoras en librerías estándar.
  • Java SE 6: nuevo y definitivo cambio en la nomenclatura que se sigue hasta la actualidad. En diciembre de 2006 Mustang (nombre en código de esta versión) ve la luz. Se deja atrás el soporte para las antiguas versiones de Windows 9X, se añade una API genérica que facilita una mayor integración con otros lenguajes además de incluir integración con el JavaScript Rhino de Mozilla, mejora el soporte con Swing y JAX-WS. Como novedad, permite ser instalado en Mac OS X 10.5 Leopard y Mac OS X 10.6 Snow Leopard.
  • Java SE 7: Dolphin (tal era su nombre en código) fue de las actualizaciones que más se hizo esperar, pues apareció en 2011. Incluyó soporte de JVM para lenguajes dinámicos, una nueva librería I/O con soporte para múltiples sistemas de archivo, librería con soporte para algoritmos de criptografía mediante curva elíptica, mejora de los gráficos con Java 2D y actualizaciones para XML y Unicode.
  • Java SE 8: Apareció en marzo de 2014 y aportó el soporte de lenguaje para expresiones Lambda, o una rutina, Nashorn, que permitía a los desarrolladores embeber código JavaScript sin aplicaciones. Esta versión ya no ofrecía soporte con Windows XP aunque sí podía ser ejecutada en dicho sistema operativo.
  • Java SE 9: Disponible desde septiembre de 2017, incluía la modularización de JDK según el Proyecto Jigsaw, catálogos XML o Java Linker, una herramienta capaz de ensamblar y optimizar un conjunto de módulos y sus dependencias como una imagen adaptada.
  • Java SE 10: Presentada en marzo de 2018, aportaba una docena de nuevas funciones como los certificados de raíz, el compilador experimental JIT basado en Java, o la inferencia de tipos variables-locales.
  • Java SE 11: Apareció en septiembre de 2018. Incluyó un cliente estándar HTTP, Unicode 10 y algoritmos criptográficos ChaCha20 y Poly 1305.
  • Java SE 12: Apareció en marzo de 2019. Incorporaba la suite Microbenchmark, archivos CDS o el recolector experimental Shenandoah, de reducción de tiempos de pausa.
  • Java SE 13: Apareció en septiembre de 2019 con funciones como los archivos dinámicos CDS y nueva expresiones Switch y bloques de texto.
  • Java SE 14: Apareció en marzo de 2020. Algunas de sus funciones son el sistema de ubicación de memoria NUMA para G1 y el mapeado no volátil de buffers.
  • Java SE 15: Apareció en septiembre de 2020. Añadía soporte para Text Blocks y permite que los colectores Shenandoah y ZGC ya puedan usarse directamente en producción, además de eliminar el soporte para el sistema operativo Solaris y el motor de JavaScript Nashorn.
  • Java SE 16: Es la actual versión, se ha presentado este martes 16 de marzo de 2021 y aquí en SILICON te hemos contado sus novedades.