Java 8, o que é Lambda?
Esse tema de programação funcional está em alta no mundo corporativo. Funções anônimas foram nomeadas do sistema do Church, adquirido no inicio pela linguagem LISP, as quais deram origem à família as linguagens funcionais.
Definição: Uma função anônima é uma expressão que representa uma definição de método “em-linha”. Ela não tem valor ou tipo em si, mas pode ser convertida em um delegate compatível ou em uma expressão do tipo árvore. Por razões históricas existem dois tipos sintáticos das funções anônimas: expressões lambda e expressões anônimas de métodos. O operador “->” tem a mesma precedência como a atribuição (=) e associativo à direita.
Alguns exemplos de linguagens funcionais são: Javascript, Python e Ruby, das quais tornam possível um equilíbrio entre linguagem funcional e imperativas. Na nova versão do Java 8, essa “linguagem funcional” deverá ser incorporada através de lambda expressions. Rotinas como ordernar lista, selecionar elementos através de algum critério pré-estabelecido ou mesmo extrair valores de uma propriedade de um objeto que está em uma lista, são atualmente tarefas repetitivas na vida de um programador Java.
Resumindo, em um futuro próximo poderemos com a nova versão implementar um código de forma mais concisa e sem perder a legibilidade. Hoje existem bibliotecas que implementam tais facilidades (Guava e a LambdaJ). Se você está ansioso por usá-la, pode implementar seu código adicionando-as. A Oracle pretende lançar em Setembro desse ano.
Para aqueles que desejam se iterar mais sobre o assunto, alguns exemplos estão disponíveis aqui e na própria Oracle .
Andre Meirelles de Rezende
Arquiteto de Software na Teclógica