Archive for July, 2011

  • Mejoras Para Java 8

    0
    En el 2012 Oracle tiene pensado liberar Java 8 y este vendría con nuevas características.

    1. OSGi
    La modularización de java proveniente de Eclipse llegaría al JDK definitivamente

    2. Project Coin
    Mas mejoras respecto a la sintaxis del lenguage que ayudan mucho al programador. En el JDK 7 tuvimos strings en switch y otras mejoras importantes. Seria bueno poder tener cosas como

    3. Collections
    Expresiones literales para listas inmutables, mapas y sets. Asi mismo como acceso indexado para listas y mapas.

    4. Soporte para programación modular
    La idea es extender el lenguage con nuevas estructuras llamadas “superpackages” lo que permitirían una organización modular.

    5. Expresiones Lambda
    Closures para Java, la verdad son buenos shortcuts que atentan un poco contra la teoria de objetos… pero como ya todo es objeto…no estaria nada mal optimizar funciones a nivel de la vm.

    6. Annotations en cualquier lado y para cualquier cosa
    Estan proponiendo extender las annotations para que sean usadas en cualquier tipo, no solo classes metodos o declaraciones de variables.

    7. Swing application framework
    Cuantas veces tuviste que reescribir una app swing con sus bases una y otra vez ? La idea es hacer un framework el cual maneje el startup, shutdown, sessiones y manejo de recursos de manera standard y escalable.

    8. Date and Time API
    Van a reescribir Date and Time API lo cual seria excelente porque es una porqueria ahora. Especialmente la clase SimpleDateFormat que no es thread safe.

    9. Bendito DatePicker!
    Al fin piensan hacer un datepicker para Swing.

    Las mejoras que me gustarían a mi
    1. Lo que más odio del lenguaje que mas amo es el reload de la VM en cada cambio. Esto es dado a que el código es compilado y no es un scripting como php o similar. JRebel tiene un metodo de unload y reload de classes, no podria implementar eso el JDK para evitar downtime de los servidores en cada deploy ?
    2. Tipos de variables. Me acuerdo en mis dias de smalltalk donde no era requerido poner el tipo de variable. Yo la verdad que era feliz. Despues Java me obligo a poner tipos y me complico la existencia. Estoy de acuerdo de que el typing ayuda a muchisimas cosas como por ejemplo webservices, pero la verdad todo seria mas facil y corto si no fuera obligatorio el typing de las variables.
    3. Nativos para diferentes plataformas. Seria bueno que el JDK traiga un tool para poder generar un ejecutable (exe, bin o app) para cada diferente plataforma. Es algo siempre util.