January 28, 2019

Do you even Function? Guiding Through Functional Interfaces

Do you even Function? Guiding Through Functional Interfaces

Short Abstract

Functional Programming is becoming more popular with services like AWS Lambda, Azure Functions, and other Functions as a Service providers. With Functions introduced in JDK8, Java Developers can finally embrace this exciting paradigm of Functional Development.

In this talk, we discuss how and when to use Functions in Java, how to build custom Functional Interfaces, and, more importantly, what common mistakes to avoid when starting with Functional Programming.

Slide Deck

Long Abstract

Object-Oriented Programming -  it is often synonymous with Java Development. But what if I were to tell you that there is more to Java than  OOP principles?

Starting JDK8, Java language introduced a new and exciting world of Functional Programming. This inherently powerful paradigm drives services like AWS Lambda, Azure Functions, or any other Function as a Service product out there.

Functional programming offers better security, simpler maintenance, and more flexible design, so it is vital for Java developers to embrace this paradigm and learn how to use it well.

In this talk, we discuss how to apply Functional programming in Java with the primary focus on Functional Interfaces. We explore out-of-the-box Functional structures, how to build custom Functions and look at common mistakes of impure abstractions and overly-DRY design.    

Takeaways

  • Design Principles of Functional Programming
  • Functional Structures post-JDK8
  • Tips and Tricks on how to avoid common Functional Programming pitfalls in Java