Si estás listo para dominar una nueva tecnología, vale la pena escuchar a alguien que sepa. En nuestra serie Ask 3, entrevistamos a un experto de nuestra red mundial de autores para ayudarle a aprender sobre las tecnologías más importantes de hoy en día. En nuestro cuarto post de la serie, Bryan Hansen, un desarrollador de Java con más de 20 años de experiencia, responde a tres preguntas sobre Java.
Habiendo sido un desarrollador de Java por más de 20 años, he tenido el extraño placer de entregar aplicaciones en producción usando cada versión de Java desde la 1.0. Trabajando con Java 9 los últimos meses, ha sido divertido ver las recientes características nuevas de esta versión, y cómo Java continúa adaptándose a las siempre cambiantes necesidades de la industria.
¿Qué es lo más importante que está pasando en Java en este momento?
Cándidamente es una pequeña mejora, pero está cambiando el código profundamente: Opcionales de Java. Estos fueron introducidos en Java 8, pero debido a la forma en que salieron las versiones del framework, no estábamos haciendo nada con los Opcionales de Java todavía. Con el lanzamiento de Java 9, los frameworks se han puesto al día con las características de Java 8 que pueden mejorar sus bibliotecas.
¿Qué es una habilidad/tecnología adyacente que complementa a Java?
La primavera 5 fue lanzada hace unos meses, y con el advenimiento de los Opcionales, la primavera ha reescrito completamente su API para usar los Opcionales que no lanzan NullPointerExceptions. Esto ayudará a hacer el código más estable, y también mejora las herramientas para prever mejor los errores que tienen que manejar.
Lenguajes más nuevos en la JVM, como el Kotlin, ya están usando esta sintaxis y como no tienen un legado de hacerlo de una manera diferente, estos lenguajes parecen estar ganando adopción rápidamente. Scala también está adoptando este enfoque, y es por eso que algunas personas sienten que ayuda a hacer cumplir las mejores prácticas.
¿Cuál es el futuro de Java para los desarrolladores?
Estamos viendo el efecto positivo que los Opcionales están teniendo en el API. Otros lenguajes que se ejecutan en la JVM, como Kotlin y Scala, ya están adoptando esta característica y está ayudando a esta adopción en nuevos proyectos. En los últimos 18 meses, ha habido un aumento significativo en la adopción de herramientas como Kotlin, y esto es un reflejo directo de cómo han adoptado esta característica. Antes de los Opcionales, el código podía ser bastante frágil en lo que respecta a las excepciones de tiempo de ejecución y la mejor manera de manejar los errores. A medida que más desarrolladores adopten los Opcionales, creo que empezaremos a ver mejores APIs en desarrollo.
En resumen, Java 9 añade una serie de mejoras que pueden ayudar a mejorar no sólo la forma de escribir el código, sino también la forma en que su código funciona. Los opcionales son una forma rápida de comenzar a aprovechar las mejoras que Java 9 trae, pero también hay características más complejas con las que deberías familiarizarte y entender. Las mejoras de Stream en 8 y 9 son características muy complejas que abordan un problema aún más intrincado. Si no te has tomado el tiempo para aprenderlas, te recomiendo que hagas un sprint con estas mejoras de Stream sólo para entender los problemas que solucionan y cómo puedes aplicarlas en el futuro. Además, ten en cuenta que herramientas como Spring se basan en estos conceptos para ayudarte a aplicarlos en tu código. Antes de sumergirte, comienza por obtener tu coeficiente intelectual de Java.