Programación accesible

Web de la comunidad programación accesible

Novedades en Java 22 - más productividad y mejores integraciones

Autor: Miguel Barraza.
En la categoría: noticias
Publicado:

Java 22, lanzado el 19 de marzo de 2024, incorpora 12 mejoras clave (JEPs) que optimizan la productividad del desarrollador, mejoran la legibilidad del código y amplían las posibilidades de integración con otros lenguajes como C y C++.

  1. Unnamed Variables & Patterns (JEP 456)
    Permite utilizar guiones bajos (_) en lugar de nombres de variables que no se necesitan. Esto simplifica el manejo de excepciones o patrones, evitando declarar variables innecesarias.

  2. Statements Before super(...) (JEP 447)
    Ahora es posible ejecutar instrucciones antes de llamar al constructor padre (super()) en clases que heredan, lo cual facilita realizar inicializaciones previas a la herencia de funcionalidad.

  3. Stream Gatherers (JEP 461)
    Introduce nuevas formas de personalizar el procesamiento intermedio de datos en streams. Para quienes no están familiarizados: un stream es como una cadena de montaje de datos, y ahora se pueden adaptar más fases del procesamiento según las necesidades.

  4. Ejecución de programas con múltiples archivos fuente (JEP 458)
    Permite ejecutar directamente varios archivos .java sin necesidad de compilar manualmente cada uno. Muy útil para pruebas rápidas o demostraciones.

  5. API de Funciones y Memoria Externa (JEP 454)
    Sale finalmente del modo experimental. Esta API permite trabajar con código en C/C++ o acceder a memoria fuera de Java sin usar la antigua y compleja interfaz JNI, mejorando velocidad y reduciendo errores.

  6. Otras mejoras:

    • Structured Concurrency: facilita la gestión de tareas paralelas.
    • Scoped Values: permite compartir valores de forma segura entre hilos.
    • String Templates: ofrece una manera más legible y segura de crear cadenas dinámicas.
    • Clases implícitas: simplifica la declaración de tipos auxiliares.

¿Por qué es relevante?

  • Código más limpio: menos elementos innecesarios como variables temporales o pasos de compilación.
  • Mayor productividad: se pueden probar ideas más rápido.
  • Mejor integración: ideal para proyectos que combinan Java con otros lenguajes como C.
  • Un ecosistema en evolución: Java sigue apostando por herramientas que simplifican y potencian el trabajo del desarrollador.

Conceptos explicados

  • JEP (JDK Enhancement Proposal): propuesta de mejora para el lenguaje Java y su plataforma.
  • Stream: flujo de datos que se puede procesar paso a paso.
  • Constructor padre (super()): llamada a la clase base desde una clase derivada.
  • JNI (Java Native Interface): forma antigua de conectar Java con otros lenguajes, más compleja y propensa a errores.
  • Vista previa (preview): característica aún en fase de prueba, disponible para evaluación pero no final.

Fuentes consultadas

etiquetas: