Functional Programming in Java: How Functional Techniques Improve Your Java Programs
ISBN: 9789386052001
472 pages
For more information write to us at: acadmktg@wiley.com

Description
This isn’t a book about Java. This book is about functional programming, which is a different way to write software programs. “Different” means different from the “traditional” way of writing software, which is called the imperative paradigm. This book is about applying the functional paradigm to Java programming. There’s no such thing as a “functional language.” There are only languages that are more-or-less functional-friendly. Although I use Java in this book, you can apply all the principles I teach to any other language. Only the way in which you implement these principles would be different. You can write functional programs in any language, even those said not to be functional at all; you can similarly write imperative programs with the most functional-friendly languages.
- What is functional programming?
- Using functions in Java
- Making Java more functional
- Recursion, corecursion, and memoization
- Data handling with lists
- Dealing with optional data
- Handling errors and exceptions
- Advanced list handling
- Working with laziness
- More data handling with trees
- Solving real problems with advanced trees
- Handling state mutation in a functional way
- Functional input/output
- Sharing mutable state with actors
- Solving common problems functionally