Dec 04, 2017

Do you even Function? Guiding Through Functional Interfaces

cover

Elevator Pitch (~300 words)

While Streams and Optional interactions have been well discussed for the past few years, many people forget what drives all these new Functional capabilities – Functional Interfaces. In this talk, default Functional Interfaces will be explained along with how they can be customized, covering some of the most promising new open-source libraries which expand Functional programming in Java beyond its current limits.

Presented at



Abstract

Since Java 8 was introduced with its support for Lambda, Optional and Functional Interfaces, Java developers got their hands onto an amazing ground of Functional Programming. While it has been widely supported in other OOP languages, only starting from JDK8, Java community got a new way to develop their code.

While Streams and Optional interactions have been well discussed for the past few years, many people forget what drives all these new Functional capabilities – Functional Interfaces.

In this talk, default Functional Interfaces will be explained along with how they can be customised, covering some of the most promising new open-source libraries which expand Functional programming in Java beyond its current limits.

By exploring what Functional Interfaces actually are, and when they can be use, Java developers should be able to see that any code can be encapsulated down to passing methods as an argument of another method, bringing DRY (Don't Repeat Yourself) principle to its extremes.

As a result, this talk will cover what developers should beware when using Functional Interfaces, as with this new power, there are even more responsibilities. For example, an engineer can keep encapsulating each piece of logic into Functional Interface, making code absolutely unreadable.

Slide Deck