Lenguajes de programación: llega Java 19 y estas son sus novedades

Shutterstock-518789926.jpg

Imagen: Shutterstock

Oracle ha anunciado la disponibilidad de Java 19 y Oracle JDK 19 para desarrolladores, las últimas versiones de lo que posiblemente sea el lenguaje de programación más popular del mundo. 

JDK (Java Development Kit) 19 llega unos seis meses después de Java 18 y exactamente un año después de Java 17, la versión de soporte a largo plazo (LTS) más reciente de Java.

Con el lanzamiento de Java 17, Oracle anunció planes para cambiar los lanzamientos de JDK LTS de cada tres años a cada dos años, lo que significa que el próximo lanzamiento de LTS será Java 21 en septiembre de 2023. 

La versión de código abierto de JDK 19 OpenJDK 19 también está disponible en Oracle bajo el Licencia pública general GNU, versión 2, con la excepción Classpath.

También: Los lenguajes de programación más populares y dónde aprenderlos

Oracle ahora lanza nuevas versiones de Java cada seis meses en marzo y septiembre con el objetivo de brindarles a los desarrolladores actualizaciones más pequeñas pero más frecuentes que sus actualizaciones anteriores cada pocos años. Las versiones de LTS siguen siendo compatibles durante al menos ocho años. 

Como señaló Sharat Chander, director de gestión de productos Java SE de Oracle, JDK 17 fue el segundo LTS bajo la cadencia de lanzamiento anunciada en 2018. Con él, Oracle introdujo "términos de licencia nuevos y más simples" que permitieron a las empresas usarlo "sin costo durante al menos el próximo tres años, lo que permite un año completo de superposición con el próximo lanzamiento de LTS”.  

Oracle explicó en ese momento que JDK 17 y futuras versiones de JDK se proporcionan bajo Licencia de términos y condiciones sin cargo (NFTC) de Oracle, una licencia de uso gratuito para Java 17. La licencia dura un año después del próximo lanzamiento de LTS y luego Java 17 se mueve bajo el Licencia de red de tecnología de Oracle

Java 17 fue un gran problema. Una encuesta realizada por el fabricante de herramientas de desarrollo Java Perforce a principios de este año encontró que el 37 % de sus usuarios todavía usaba Java 8, que se lanzó en marzo de 2014. Otro 29 % usaba Java 11, lanzado en septiembre de 2018. Ambas son versiones LTS. Alrededor del 37% de los 876 usuarios de Java de Perforce planeaban migrar a Java 17 LTS.  

Esa es una muestra bastante pequeña de desarrolladores de Java en todo el mundo. Oracle señala que el analista de tecnología IDC estima que hay 10 millones de desarrolladores de Java, lo que representa alrededor del 75 % de los desarrolladores de tiempo completo. Java se ubica entre los tres idiomas más populares en múltiples índices, junto con JavaScript/TypeScript y Python.

Está Java, el lenguaje de programación, y luego hay varias plataformas Java que Java apps se ejecuta, que consiste en la máquina virtual de Java o "JVM" y sus interfaces de programación de aplicaciones. Las dos plataformas principales son Java Standard Edition (Java SE) y Java Enterprise Edition (Java EE). 

Chander señala que "los suscriptores de Java SE obtienen acceso al soporte de Java SE de Oracle y funciones comerciales como GraalVM Enterprise, Java Management Service y Advanced Management Console", señalando a los usuarios a El blog de los nuevos términos de licencia de Java SE para obtener detalles sobre la licencia. 

En cuanto a novedades técnicas, Java 19 incluye siete propuestas de mejora de JDK (JEP), pero en su mayoría son funciones de vista previa o de incubadora.

En particular, Java 19 incluye JEP 422 – Puerto Linux/RISC-V, que traslada el JDK a la arquitectura Linux RISC-V de código abierto. RISC-V ha ganado en varias medidas el apoyo de Intel a través de su nuevo negocio de servicios de fundición y de la NASA, que quiere usar chips RISC-V para sus computadoras de vuelo espacial de próxima generación.  

El estándar RISC-V (pronunciado "riesgo cinco") fue inventado por los profesores de la Universidad de California en Berkeley, David Patterson y Krste Asanović, hace 12 años. Los desarrolladores son libres de cambiar la arquitectura del conjunto de instrucciones (ISA) de un chip RISC-V frente a las ISA cerradas de los procesadores Intel x86 y Arm.  

Otra adición interesante es JEP 425 “Virtual Threads (Preview)” para la plataforma Java. Virtual Threads es el primer JEP como parte de proyecto telar, un esfuerzo de varios años para mejorar el rendimiento de Java en grandes aplicaciones de servidor. 

“Los subprocesos virtuales son subprocesos livianos que reducen drásticamente el esfuerzo de escribir, mantener y observar aplicaciones simultáneas de alto rendimiento”. tenga en cuenta los autores de la propuesta.

También: Cómo ejecutar sitios web como apps con facilidad en Linux

Chander explica los beneficios de los subprocesos virtuales en comparación con los subprocesos de Java y cómo Project Loom pretende encontrar una alternativa a las tres "malas opciones" que tienen los desarrolladores, que es desperdiciar hardware a través de la subutilización, desperdiciar el esfuerzo del programador con peores modelos de programación y observabilidad, o alejarse de Java.

“Hay muchas cosas geniales sobre los subprocesos de Java. Ofrecen un modelo de programación natural, con código secuencial legible que utiliza operadores de flujo de control que los usuarios entienden: bucles, condicionales, excepciones. Los usuarios obtienen una gran capacidad de depuración y servicio, y seguimientos de pila legibles. Y los subprocesos son unidades naturales de programación para los sistemas operativos”, señala Chander.

“El problema es que la implementación de subprocesos por parte del sistema operativo es demasiado pesada. Lleva demasiado tiempo iniciar un subproceso para cada conexión, pero lo que es peor, la cantidad de subprocesos que el sistema operativo puede admitir en cualquier momento limita la cantidad de transacciones simultáneas que un servidor puede manejar, muy por debajo de la capacidad del hardware o la red. por lo que los subprocesos se convierten en un grave factor limitante en el rendimiento del servidor”.

Dijo que muchas personas asumieron que Oracle adoptaría el estilo de programación asíncrono ofrecido por los llamados marcos "reactivos", pero agregó: "Reactivo puede ser lo mejor que la gente puede hacer con la JVM actual, pero nuestro objetivo es hacerlo mejor, lo cual podemos hacer". al hacer que los subprocesos sean más ligeros y escalables, lo que permite a los desarrolladores seguir usando el modelo y las herramientas que han estado usando con éxito durante años”.

Aquí hay una lista de los siete JEP en Java 19: 

Fuente