Icono del sitio Profile Software Services

Jdk 17: última versión LTS en Java

El 14 de septiembre de 2021 fue publicada una nueva versión de Java: Jdk 17. Desde que Oracle decidió crear nuevas versiones del lenguaje aumentando la frecuencia de entrega cada seis meses, los nuevos lanzamientos van añadiendo nuevas funcionalidades al lenguaje que son probadas, pudiendo ser añadidas en la versiones del lenguaje denominadas LTS (Long time support). De este modo, se permite experimentar dentro del lenguaje diferentes mejoras o nuevas implementaciones de manera experimental, de modo que puedan ser validados/ refinados por parte de toda la comunidad de usuario Java existente en todo el mundo.

Las nuevas mejoras serán añadidas o descartadas en la llegada de la versión LTS del lenguaje que se realiza cada dos años desde la fecha de la publicación de la última versión estable. A continuación os mostramos el Roadmap oficial de Oracle donde se pueden observar todas y cada una de las versiones existentes y futuras del lenguaje:

Fuente: Oracle

Este hecho hace que muchos de los programadores del lenguaje existentes en toda la comunidad no puedan seguir los avances añadidos al lenguaje, no pudiendo aprovechar todo el potencial que se va añadiendo con la introducción de los nuevos componentes de mejora en todas y cada una de las versiones intermedias hasta llegar a la LTS.

Nuevas funcionalidades añadidas en Jdk 17 que deberías usar en proyectos donde no es posible usar otro lenguaje de la JVM

Dentro de Profile Software Services cuando tenemos que elegir un lenguaje a la hora de desarrollar aplicaciones que pueda correr bajo nuestra querida y amada Java Virtual Machine elegimos Kotlin por su potencia y facilidad a la hora de desarrollar código, permitiendo que tanto programadores que conocen el lenguaje, como desarrolladores que solo conozcan Java puedan sentirse cómodos y seguros escribiendo código menos verboso para sus aplicativos,

No obstante, en nuestra entidad se realizan proyectos para muchos grandes clientes que no quieren aún dar el salto al uso masivo de Kotlin, por lo que el uso de Java es mandatory en todos los desarrollos de la compañía (aquellos que se refieren a plataformas de backend principalmente usando Spring como framework mayoritario). 

En este punto intentamos exprimir todas las bondades existentes dentro las nuevas versiones de Java (que las hay) disponibles en Kotlin y que podemos usar dentro de aquellos desarrollos que nos permiten usar la última versión lts del lenguaje: Java 17 que procedemos a enumerar en los siguientes puntos:

Del mismo modo, el compilador va a verificar que dentro las comprobaciones realizadas dentro de los cases cubren todos los posibles valores existentes. En caso contrario, nos va a devolver un error en tiempo de compilación (muy útil por ejemplo, al evaluar aquellos lugares del código afectados por los enumerados/sealed classes cuándo definimos nuevos valores dentro de ellos).

Sin el uso pattern matching (if)

Con el uso de  pattern matching (if)

Con el uso de pattern matching (switch)

Conclusión

Cómo has podido comprobar, Java también ha ido mejorando de manera un poco más lenta frente a lenguajes modernos como pueden ser Kotlin/Scala. No por ello, debemos de renunciar a mejorar nuestro código haciendo uso de todas las nuevas funcionalidades como en Jdk 17 que se van incorporando generando un código más legible y un poco menos verboso. Para ello, te recomendamos seguir muy de cerca todas y cada una de las versiones intermedias de nuestro querido y añejo lenguaje.

Salir de la versión móvil