Java 22 Lanzado

API Vector en incubación y Project Valhalla

  • La API Vector está en su 7.º incubador; los comentaristas se preguntan por qué está tardando tanto.
  • Varios señalan que depende de Project Valhalla (value types), de modo que los vectores puedan ser objetos de valor eficientes y sin asignación.
  • El consenso: el progreso es lento por diseño; los desarrolladores del JDK priorizan una compatibilidad hacia atrás extrema y la planificación a largo plazo.

Interfaz de Funciones y Memoria Externa (FFI)

  • Muchos ven la nueva FFI como el cambio de mayor impacto, al abordar por fin los problemas de JNI/JNA y cerrar una brecha histórica frente a .NET/C#.
  • Las experiencias con la FFI temprana y jextract son positivas; hay considerablemente menos código repetitivo que con JNI y es más fácil adoptar bibliotecas C existentes.
  • Algunos se preocupan por el énfasis en la descarga de bibliotecas, citando la inestabilidad pasada con bibliotecas nativas.
  • Las comparaciones con la rica superficie de interoperabilidad nativa de .NET (punteros, uniones, punteros a funciones, stackalloc, spans) destacan cuánto se está poniendo al día Java.

Plantillas de cadena y debates de sintaxis

  • Hay interés en String Templates (STR / procesadores fmt); continúa el debate sobre la sintaxis exacta, incluyendo prefijo frente a $"..." y el uso de barras invertidas.
  • Esto se presenta como el clásico “bikeshedding”, pero a la gente le gusta que se esté reconsiderando la sintaxis.

main amigable para principiantes y “Hello, World”

  • La nueva característica de punto de entrada simplificado es elogiada como una gran victoria para la enseñanza y la incorporación, comparable a las declaraciones de nivel superior de C#.
  • Otros la desaprueban por ser “falsa” o una sintaxis especial que oculta conceptos reales (clases, métodos estáticos) y complica las explicaciones.
  • Algunos argumentan que Java sigue siendo demasiado complejo para principiantes de todos modos; otros creen que este modesto cambio de ergonomía ayuda.

Java frente a otros lenguajes de la JVM

  • Comparaciones recurrentes con Kotlin, Scala y Groovy:
    • Algunos consideran que Kotlin es claramente mejor para escribir código y para la seguridad frente a nulos, pero otros subrayan el ecosistema de Java, la facilidad de contratación y la estabilidad a largo plazo.
    • Scala es descrito por algunos como “en vías de morir” o demasiado complejo; otros responden que Scala 3 moderno y su ecosistema son mucho más accesibles.
    • Groovy polariza: se elogia por funciones de scripting (interpolación de cadenas, closures, DSLs) y se critica como un “mal DSL” (por ejemplo, Gradle, Spock).

Otras novedades y notas del ecosistema

  • Stream Gatherers (JEP 461) despierta interés por habilitar nuevas operaciones de streams; un comentarista lamenta la falta de métodos de extensión estáticos.
  • Los hilos virtuales generan debate: algunos los ven como una concurrencia de alto nivel y ergonómica al estilo Go; otros argumentan que ya existían bibliotecas asincrónicas en modo usuario y se preocupan por la complejidad y el bloqueo de FFI.
  • Se reconoce ampliamente la evolución lenta y compatible hacia atrás de Java; algunos aprecian la estabilidad “aburrida”, otros se quejan de que muchos proyectos siguen atascados en Java 8/11 por roturas en el ecosistema (APIs internas, javaxjakarta).
  • Surgen preguntas prácticas sobre macOS acerca de qué distribución de OpenJDK instalar; el consejo es que muchas aplicaciones de escritorio ahora empaquetan su propio runtime, pero las variantes de distribución siguen pudiendo ser confusas.