Introduction
While Java has been around for over 20 years now, and Functional Programming (FP) has been around for even longer than Java, it's not been until recently that the topic of FP has caught traction in the Java community. This is probably due to Java being an inherently imperative programming language; when learning Java, you learn OOP.
However, the movements in the mainstream programming community have, in the past few years, shifted more toward FP. These days, you can see it on every platform—from the web to mobile to servers. FP concepts are everywhere.
Background
FP has been around for a very long time even though it is a relatively new topic in Java. In fact, it has been around even longer than the first personal computer; it has its origins in the lambda calculus study that Alonzo Church created in the 1930s.
The name "lambda" comes from the Greek symbol, which was the symbol Church decided to use when describing the rules and mathematical...