As Java developers we are used to having rich ecosystems of libraries and tools that make our lives easier. As of the release of Java 8, we finally got our hands on building blocks like lambdas, optionals, functions, and streams. We quickly learned and adopted these new features. Powerful, yet simple enough to turn ugly code into beautiful expressions. But now, when the honeymoon is over, are there any downsides to Java 8 or is it a silver bullet? Are there any common pitfalls? Or subtle bugs caused by the new style of programming? Have there been any lessons learned? Are there any best practices?
If you are interested in learning about the challenges encountered when moving over to a functional style of programming with Java 8, what code constructs to avoid, and best practices to use, well then this session is for you. Beware, this session contains no fluff, just code.