Book description
Functional Programming in Java teaches Java developers how to incorporate the most powerful benefits of functional programming into new and existing Java code. You'll learn to think functionally about coding tasks in Java and use FP to make your applications easier to understand, optimize, maintain, and scale.
<!-- .tab { margin-left: 40px; } -->"Really wonderful book for starting FP for a Java Developer."
~ Rambabu Posa
"This book is perfect."
~ Philippe Charriere
"This is the most detailed book to date about functional programming in Java."
~ Ivan Milosavljevic
"I haven't seen tutorials or resources that cover FP so deeply and in Java."
~ Bruce Hernandez
About the Technology
Here's a bold statement: learn functional programming and you'll be a better Java developer. Fortunately, you don't have to master every aspect of FP to get a big payoff. If you take in a few core principles, you'll see an immediate boost in the scalability, readability, and maintainability of your code. And did we mention that you'll have fewer bugs? Let's get started!
About the Book
Functional Programming in Java teaches you how to incorporate the powerful benefits of functional programming into new and existing Java code. This book uses easy-to-grasp examples, exercises, and illustrations to teach core FP principles such as referential transparency, immutability, persistence, and laziness. Along the way, you'll discover which of the new functionally inspired features of Java 8 will help you most.
What's Inside
- Writing code that's easier to read and reason about
- Safer concurrent and parallel programming
- Handling errors without exceptions
- Java 8 features like lambdas, method references, and functional interfaces
About the Reader
Written for Java developers with no previous FP experience.
About the Author
Pierre-Yves Saumont is a seasoned Java developer with three decades of experience designing and building enterprise software. He is an R&D engineer at Alcatel-Lucent Submarine Networks.
Quotes
An excellent introduction to functional programming for Java programmers.
- Piotr Bzdyl, SmartRecruiters
Helped me understand the basic concepts of functional programming.
- Philippe Charriere, GitHub
The fundamental concepts and mindset of functional programming explained with the help of a non-esoteric programming language like Java.
- Sebastian Metzger, snapADDY
Shows you how to write modern Java code.
- Alessandro Campeis, Vimar
Publisher resources
Table of contents
- Copyright
- Brief Table of Contents
- Table of Contents
- Why Functional Programming?
- Preface
- Acknowledgments
- About this Book
- Chapter 1. What is functional programming?
- Chapter 2. Using functions in Java
- Chapter 3. Making Java more functional
- Chapter 4. Recursion, corecursion, and memoization
- Chapter 5. Data handling with lists
- Chapter 6. Dealing with optional data
- Chapter 7. Handling errors and exceptions
- Chapter 8. Advanced list handling
- Chapter 9. Working with laziness
- Chapter 10. More data handling with trees
- Chapter 11. Solving real problems with advanced trees
- Chapter 12. Handling state mutation in a functional way
- Chapter 13. Functional input/output
- Chapter 14. Sharing mutable state with actors
- Chapter 15. Solving common problems functionally
- Appendix A. Using Java 8 functional features
- Appendix B. Monads
- Appendix C. Where to go from here
- Index
- List of Figures
- List of Listings
Product information
- Title: Functional Programming in Java
- Author(s):
- Release date: January 2017
- Publisher(s): Manning Publications
- ISBN: 9781617292736
You might also like
book
Functional Programming in Java
Get ready to program in a whole new way. Functional Programming in Java will help you …
video
Functional Programming For Java LiveLessons
7+ Hours of Video Instruction Almost 8 hours teaching Java programmers how to design and create …
book
Learning Java Functional Programming
Create robust and maintainable Java applications using the functional style of programming About This Book Explore …
video
Parallel Functional Programming with Java LiveLessons
16+ Hours of Video Instruction Parallel Functional Programming in Java LiveLessons describes by example how to …