Oracle entregó Java 19
hace 2 años
Presentadas, descritas y esperadas durante meses, las funciones Record Patterns, del proyecto Amber, y Virtual Threads, del proyecto Loom, ahora están accesibles, en forma de una primera beta, en la versión 19 del kit de desarrollo de Java. Entre otros desarrollos aportados al lenguaje de programación supervisado por Oracle.
Java 19 se entregó ayer, 20 de septiembre de 2022, según lo programado. Esta versión es la décima desde la transición a un ritmo semestral, hace 5 años. Una tasa cada vez más apreciada por los usuarios, afirma Georges Saab, vicepresidente responsable de la plataforma Java de Oracle, quien apunta al aumento de las descargas adicionales de librerías, frameworks y herramientas asociadas. Todas estas versiones se entregaron a tiempo, recuerda, lo que brinda una buena previsibilidad en el proceso de innovación de Java para aquellos que contribuyen con el Kit de desarrollo de Java (JDK) y para las empresas. "Para una comunidad tan grande como la comunidad de Java, es realmente importante ser consistente", dijo a principios de esta semana durante una conferencia de prensa en línea antes del lanzamiento de Java 19. Los clientes quieren saber qué esperar y poder planificar, lo cual no era posible antes del ritmo semestral, con lanzamientos enormes ya veces escalonados, reconoció. Hoy, los desarrolladores pueden tomar la medida de los cambios propuestos y lo que resulta de ellos, los casos de uso, etc. La evolución es predecible e incremental.
También es importante asegurarse de que el progreso no desanime a la gran base histórica de usuarios, argumenta George Saab. Las versiones LTS (long time support) ocurren cada tres años, lo que asegura a los equipos que gestionan sus aplicaciones en producción, ya que también tienen la posibilidad de acompañar los últimos desarrollos, recuerda. El último LTS se aplica a JDK 17 lanzado en septiembre de 2021. “Tener un lanzamiento de LTS cada tres años combinado con lanzamientos semestrales parece una muy buena combinación”, dijo el gerente de desarrollo de la plataforma Java. Añade que, además de la previsibilidad aportada, todas las evoluciones se realizan de forma que los desarrolladores puedan sentirse seguros. “El diseño, las innovaciones y las implementaciones se realizan a través de OpenJDK liderado por mi equipo en Oracle, pero los desarrolladores también pueden unirse a OpenJDK y su lista de correo para ver todo lo que sucede, seguir la revisión de propuestas, etc.”, explica Georges Saab. resumen y, en otras palabras, no todos los procesos de desarrollo de Java que se llevan a cabo en segundo plano son cosas misteriosas e inalcanzables, como saben los desarrolladores.
Mantener el espíritu de Java mientras se asumen desafíos
Dentro del JDK, los seis proyectos clave en curso, algunos durante varios años, continúan avanzando. Estos son en primer lugar Amber (mejora de la productividad), Loom (escalado de hilos ligeros para facilitar los accesos simultáneos) y Panama (alto rendimiento y más fácil creación de aplicaciones asociadas a E/S intensivas) que avanzan en Java 19, pero también, con betas más exitosas, Leyden, Valhalla y ZGC (estos dos últimos proyectos se consideraron muy prometedores desde el principio). Leyden tiene como objetivo acelerar el inicio para lograr el máximo rendimiento. Valhalla se centra en cómo Java representa los datos en la memoria, aprovechando el hardware subyacente. ZGC se trata de la capacidad del recolector de basura para escalar para manejar grandes cantidades de datos (terabytes o petabytes) sin afectar la capacidad de respuesta de la transacción. En cuanto a las diversas propuestas realizadas en estos proyectos, Georges Saab subraya la voluntad de tratar de mantener el espíritu de Java ("Java feel"), al tiempo que asume nuevos desafíos, con el enfoque más natural y obvio posible sobre las evoluciones. Un ejemplo en Amber. El proyecto buscó resolver problemas a medida que avanzaban con pequeños cambios, dice Saab.
La capacidad de proporcionar versiones beta periódicas en versiones semestrales ayuda a aumentar los comentarios de los desarrolladores y permite una funcionalidad más sólida, lo que en última instancia beneficia la calidad del lenguaje de programación, dice Java Platform Development Manager. En las empresas, en las canalizaciones de CI/CD utilizadas para probar aplicaciones e implementarlas en producción, los equipos pueden tener dos canalizaciones en paralelo, sugiere Georges Saab. Uno explotando la versión LTS de Java (cada uno con soporte de Oracle durante mucho tiempo) y el otro la última versión semestral para tener una idea de cómo afectarán los cambios a las aplicaciones. Eso es algo que parece estar sucediendo con la nueva cadencia de entrega de Java, dice Saab.
Hilos virtuales, proyecto Loom, un impacto significativo a largo plazo
En cuanto a las mejoras entregadas en JDK 19, el proyecto Amber continúa aportando pequeñas mejoras a la sintaxis de Java, esta vez con la versión beta de Record Patterns (propuesta/JEP 405). Los patrones de registro “pueden usarse junto con patrones de tipo para permitir una forma de navegación y procesamiento de datos robusta, declarativa y componible”, describió el especialista en Java Jean-Michel Doudoux en mayo pasado en el sitio de la comunidad de desarrolladores de InfoQ, siempre a la vanguardia. . Muchos desarrolladores podrán usarlos en su programación diaria, dice Georges Saab.
Las primeras funciones del proyecto Amber aparecieron en Java 10. (Crédito: Oracle)
Sobre el proyecto Loom, el responsable de desarrollo Java de Oracle destaca una de las propuestas que más impacto podría tener en el tiempo. Para él, son Subprocesos virtuales (JEP 425), entregados aquí en versión preliminar. "Podría llevar la escalabilidad de Java a otro nivel", dice. Históricamente, no ha habido diferencia entre un subproceso Java y un subproceso nativo, y aunque la escalabilidad de Java es buena, se limita a lo que ofrece la plataforma nativa, señala Saab. “Virtual Threads introduce el concepto de subprocesos virtuales extremadamente livianos en Java que están vinculados a miles o incluso decenas de miles de subprocesos virtuales a un subproceso nativo”, explica. “Y el tiempo de ejecución se encarga de la programación entre estos diferentes subprocesos para controlar el procesamiento de tantos procesos como sea posible en paralelo. (…) Y puedes aprovecharlo sin cambiar tu modelo de programación”. Esto debería ser muy importante para los desarrolladores que diseñan frameworks o bibliotecas, concluye. El proyecto Loom también trae una versión beta de concurrencia estructurada (JEP 428).
Panamá JEP 424 para incrustar bibliotecas nativas
Sobre el proyecto de Panamá, dedicado a las interacciones con otros lenguajes y códigos nativos, viene en avance la propuesta 424 Foreign Function and Memory API. "Este es exactamente el tipo de API que podemos usar para, por ejemplo, empaquetar bibliotecas nativas como Tensorflow para hacer que el aprendizaje automático sea realmente accesible para los desarrolladores de Java", explica Georges Saab.
Destacamos el peso de los desarrolladores independientes en JDK 19, pero también el de los proveedores de tecnología de origen chino. (Crédito: Oráculo)
Muchos proveedores de tecnología han contribuido con JDK 19 detrás del buque insignia Oracle. Entre ellos, encontramos a Red Hat en primer lugar y muchos desarrolladores independientes que representan aquí la tercera fuerza en el trabajo en esta versión 19. Del lado de los otros proveedores que han contribuido a resolver problemas en el JDK 19, el chino Tencent es un principal contribuyente, seguido de Amazon, ARM, Intel, Alibaba, JetBrains, IBM, Huawei y NTT Data. También presentes de forma destacada, Google, Azul, Fujitsu, Bell Soft, Microsoft, Loongson, Datadog y Skymatic.
Un video sobre la presentación de estas nuevas funciones por parte de Georges Saab, Chad Arimura y Sharat Chander, ambos responsables de relaciones con los desarrolladores de Java en Oracle, está disponible en el sitio Inside.java. OpenJDK JDK 19 se puede descargar en https://jdk.java.net/19/
Si quieres conocer otros artículos parecidos a Oracle entregó Java 19 puedes visitar la categoría Otros.
Otras noticias que te pueden interesar