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
jextractson 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,
javax→jakarta). - 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.