Todo sobre Java 8
Este post es del mes pasado y habia olvidado comentarlo aca
En resumen, algunas de las cosas nuevas que tiene Java 8 estan:
- Closures finalmente
- Implementacion por default en ias interfaces
- Interfaces funcionales
- Mejora (leve) en la inferencia en tipos genericos
- Java Time (ya era tiempo... juar juar, entienden Tiempo? ash...)
- Un monton de cambios en las bibliotecas para tomar ventajas de los closures.
Lo m'as triste aunque hasta cierto punto entendible es que no son closures "reales" toda vez que tienen la misma limitante que los actuales closures (las clases internas anonimas) que no pueden capturar una variable local que no sea marcada como
la razon data de cuando se introdujeron estas clases, donde los implementadores decidieron que era mala idea poner en el heap un valor sin que el usuario lo supiera ( para que una variable pueda ser accedida por una clase anonima , debe de estar en el heap y no en la pila ) Al parecer esta implementacion de los closures tiene las mismas fallas. Muy probablemente porque lo que van a hacer es implementarlos como syntax sugar para las clases anonimas.
Como sea, finalemente se dara este cambio, se supone que a finales del 2013. Esperemos que eventualmente haya una implementacion que capture las variable para que ahora si sean verdaderamente full closures.
Chau!
(p.d. este post fue intencionalmente escrito sin acentos - tildes pues - )
- OscarRyz's blog
- Inicie sesión o regístrese para enviar comentarios
Buen link ... aun con sus
Buen link ... aun con sus limitaciones creo que java 8 es un buen avance ... sobre todo para los que por algo no pueden migrar a otro lenguaje de la jvm que ya trae lambdas.
La implementacion definitivamente va por el mismo camino que jruby o groovy usando invokedynamic y methodhandles como se ve aqui o chequense esta presentacion del mismo Brian Goetz ... algo tirada pero explica muchos detalles de la construccion .
En lo personal despues de los closures lo que mas me llama la atencion es la reimplementacion del motor de javascript con el proyecto nashorn ... imaginense ejecutar sus aplicaciones nodejs en java por decir lo menos. Aqui una presentacion del proyecto
También la clase Optional:
También la clase Optional: aunque está a discusión su utilidad.
Hay varias características destacables, annotated types, Java Time, parece que JDK 8 viene más sustancioso que el 7.
Manos a la obra con Lambdas y Java 8
Hola, hay un tutorial muy completo, es mas bien una guia paso a paso, para en menos de una hora practicar los Lambdas y el JDK 8. Te explica todo, desde donde bajar lo que necesitas, te da el codigo y explicacion paso a paso:
Saludos
Pues honradamente yo no le
Pues honradamente yo no le entendía mucho a éso de los lambdas si no hasta que (gracias a @luxspes) estuve revisando y haciendo ejemplitos con Haskell, y ahora que estuve trabajando con C# y su Linq ya me queda un poco más claro, y sí que estará super bien tenerlo en Java.
offtopic @Oscar, tuve que leer como 4 veces para entenderle a lo de Time; necesito vacaciones u_u
2014
Nuevamente se retrasa, esta vez para el primer trimestre de 2014.
Es curioso que una de las
Es curioso que una de las opciones era dejar de lado el Project Lambda, pero no dejar de lado Applets y WebStart, que de entrada son la causa del retraso.
Java 8 ...