Functional Programming in Java

Functional Programming in Java

Book Title: Functional Programming in Java

Author: Joshua Bloch

Format: Paperback | 472 pages

Publication Date: 05 Sep 2019

ISBN-13: 9781617292736


Functional programming is a deep and potentially mind-bending

discipline. Fortunately, Java developers don't have to master every

aspect of FP to get a big boost in the performance, readability, and

maintainability of their applications. By learning a few core FP

principles, they can write code that's less prone to side effects and

unwanted dependencies and which is much better suited to the parallel

processing required by modern multi-core and distributed systems. Also,

because units of functional code are designed to be modular and

independent, FP reduces or eliminates many of the bugs development

teams routinely face when managing a large codebase.

Functional Programming in Java teaches Java developers how to

incorporate the most powerful benefits of functional programming into

new and existing Java code. Written to meet the needs of professional

Java developers who want to introduce functional programming

principles into new and legacy projects, this book uses examples,

exercises, and illustrations to teach core FP principles such as referential

transparency, immutability, persistence, and laziness. They'll discover

which of the new functionally-inspired features of Java 8 will help in

applying FP principles to code-as well as which to avoid. In the end,

they'll be able to think functionally about coding tasks in Java and use

FP to make their applications easier to understand, optimize, maintain,

and scale.


* Increases productivity

* Easy to grasp examples and illustrations

* Written for professional Java developers


Readers need to be comfortable with Java programming. No previous

experience with functional programming is required.


Functional programming is gaining momentum, mainly through adoption of

new languages such as Scala, Clojure or Groovy, and through the new

popularity of older languages such as Haskell or Erlang. And functional

programming is coming to Java 8 with the addition of features such as

lambda expressions, and Streams.