¿Es Java tan difícil como lo pintan?
Uno de los temas más recurrentes al hablar de Java está relacionado con su supuesta dificultad inicial, con su exceso de código para hacer algo sencillo, con su tipado estricto. Quizá por ser mi lenguaje de programación "materno" no tengo esa sensación que repiten tantas personas a lo largo del mundo.
Sí que es cierto que comparado con otros lenguajes de alto nivel, es uno de los lenguajes menos accesibles para aprender a programar, precisamente porque es muy estricto para declarar los tipos de datos, compilar el código. Comparados con Java, otros lenguajes como JavaScript o Python son mucho más amables a la hora de iniciarse en este mundo.
Suelen ser frecuentes los reels o shorts mostrando la "complejidad" de hacer un sencillo "Hola Mundo" en diferentes lenguajes, siendo Java uno de los más verbosos. En este sentido, Java y C# se parecen bastante.
Como dije antes, aún no siendo del todo objetivo por ser el lenguaje en el que me inicié, Java para nada tiene una dificultad abrumadora ni tampoco es para tanto el hecho del tipado estricto. Una vez que lo integras en tu estructura mental te sale natural escribir el código de esa forma.
De hecho, me ha pasado precisamente haciendo mis pinitos con JS y Python, por aquello de investigar cómo se programa en esos lenguajes, que al tener Java como referencia y tan arraigado en mi mente, he echado de menos los ; y la declaración expresa del tipo de dato.
Java es uno de los lenguajes más potentes y seguros del mercado, de hecho gracias principalmente a su framework Spring y su evolución Spring Boot, se usa masivamente en grandes empresas a nivel de backend.
Como los demás lenguajes de programación, Java ha ido evolucionando a lo largo de los años, integrando programación funcional (expresiones lambda a partir de Java 8), el uso masivo de anotaciones (@) para evitar escribir grandes cantidades de código (el compilador de Java en segundo plano sí que genera ese código "invisible").
Como vemos en la imagen, usando una expresión lambda simplificamos mucho el código para recorrer una lista y devolver el dato que nos interesa:
De hecho, Java en sus últimas versiones es un lenguaje mucho más moderno y con funcionalidades equiparables al resto de lenguajes de alto nivel. En ese aspecto, Java "moderno" es similar a Kotlin, aunque sigue preservando su esencia y singularidad.
Un nuevo ejemplo de esta evolución de Java son los records. Se integraron en Java 14 y son como una Data Class de Kotlin, ideal para crear objetos finales, que no vayan a variar. Por ejemplo, en backend se usan mucho para crear DTOs, ya que son objetos que se crean con unos atributos inalterables para devolverlos al frontend, por ejemplo. En las siguientes imágenes vemos un record llamado "ProductDto" y cómo se crea:

No hay comentarios:
Publicar un comentario