Functional programmers have been saying for decades that they know the way to the future. Clearly they've been wrong, since imperative languages are still far more popular. Clearly they've also been right, as the advantages of functional programming have become increasingly obvious.
Is it possible to combine the two models?
Scala is one language that does this and Java too has been on a journey, which still continues, of learning from functional languages and carefully adding features from them.
In this talk, we'll review what Java has learned from functional languages, what it can still learn, and how its added features compare to Scala's original ones.