Java 8: ¿Qué es una Lambda?
Este tema de programación funcional está en tendencia en el mundo corporativo. Las funciones anônimas fueron nombradas a partir del sistema de Church, adquirido al inicio por el lenguaje LISP, las cuales dieron origen a la familia de los lenguajes funcionales.
Definición: Una función anónima es una expresión que representa una definición de método “en línea”. No tiene valor o tipo en sí misma, pero se puede convertir a un delegado compatible o a una expresión de tipo árbol. Por razones históricas, existen dos tipos sintácticos de funciones anónimas: expresiones lambda y expresiones de métodos anónimos. El operador “->” tiene la misma precedencia que la asignación (=) y asociatividad a la derecha.
Algunos ejemplos de lenguajes funcionales son: Javascript, Python y Ruby, los cuales permiten un equilibrio entre el paradigma funcional e imperativo. En la nueva versión de Java 8, este “lenguaje funcional” se incorporará mediante expresiones lambda. Rutinas como ordenar listas, seleccionar elementos mediante algún criterio preestablecido o incluso extraer valores de la propiedad de un objeto que está en una lista son tareas actualmente repetitivas en la vida de un programador de Java.
En resumen, en un futuro cercano la nueva versión nos permitirá implementar código de manera más concisa sin perder legibilidad. Hoy en día existen bibliotecas que implementan dichas facilidades (Guava y LambdaJ). Si estás ansioso por usarla, puedes implementar tu código agregándolas. Oracle pretende lanzarla en septiembre de este año.
Para aquellos que deseen profundizar más en el tema, hay algunos ejemplos disponibles aquí y en el sitio de Oracle .
Andre Meirelles de Rezende
Arquitecto de Software en Teclógica

