Functional Future for Java?
Oracle's Brian Goetz Looks to Lambdas Future
Oracle's Brian Goetz has posted his thoughts on the future of lambdas in Java. In his opinion, Lambda's main function is to support the development and consumption of more functional-like libraries, and he gives the example of filter-map-reduce to support this. Furthermore, he believes that, if the right tools are available, object-orientated programmers would be willing to embrace functional techniques – and these techniques would subsequently improve their code.
"Simply put, we believe the best thing we can do for Java developers is to give them a gentle push towards a more functional style of programming. We're not going to turn Java into Haskell, nor even into Scala. But the direction is clear," he says.
According to Goetz, lambdas would be the first step on this path, and consequently we shouldn't dismiss lambdas as "just objects." In the future, the concept of "naked" lambdas, other conversion contexts for lambdas, or the possibility of integrating lambdas more tightly into control constructs, can all be considered.
"We're not doing that now, and we don't even have a concrete plan for doing so, but the ability to possibly do that in the future is a critical part of the design," he says. "I am optimistic about Java's future, but to move forward we sometimes have to let go of some comfortable ideas. Lambdas-are-functions opens doors. Lambdas-are-objects closes them. We prefer to see those doors left open."