At the core of writing more robust and maintainable code is a thorough knowledge of functional programming. In Applying Functional Programming Techniques in Java, you'll learn how to program in a functional style with Java beyond the use of lambdas and streams. First, you’ll learn why functional programming matters and how it can be used with Java. Next, you’ll explore function composition and partial application to create reusable functions. Finally, you'll discover how to abstract control structures and use types as computational contexts to program in a functional style. When you're finished with this course, you’ll have a foundational knowledge of functional programming that will help you as you move forward to write more robust and easier to maintain Java code.
Course Overview Hi everyone, my name is Esteban Herrera. Welcome to my course, Applying Functional Programming Techniques in Java. I have been working with Java for more than 10 years. I love the language and teaching all I know about it. Java 8 introduced features like Lambda Expressions, method references, and the stream API with the intention of making Java easier to use for functional programming. But these features don't really enforce functional programming principals like referential transparency. They only allow you to program in a functional style and sometimes in a limited way. Beyond Lambda Expressions and streams, in this course, you are going to learn the most important principals and techniques behind functional programming. Some of the major topics that we will cover include the concept of pure functions, currying and partial application, how to abstract control structures, and monads. By the end of this course, you'll know how to use functional programming techniques to build more robust and maintainable applications. Before beginning the course, you should be familiar with the Stream API, Lambda Expressions, method references, and generics. I hope you'll join me on this journey to learn functional programming in Java with the course, Applying Functional Programming Techniques in Java, at Pluralsight.