Top critical review
I'm unsure of what this book is trying to achieve
Reviewed in the United States on May 21, 2019
I don't know where this book should exist on my digital bookshelf. It'll be something I will probably never return to after a cursory read.
The author does an okay job at going over some of the really basic functional programming concepts. However, the points get lost in all the examples. The author often writes a brief paragraph or two on the concept of the section, and then will list multiple examples in Groovy, Scala, and Clojure, when a single example would be fine.
Switching between three functional languages adds no value to the content; it seems like the author is trying to reach as broad of an audience as possible. However, it just means that I skip 2/3rds of the examples because I understand the concept after a single example. I know none of these languages, but I'm familiar with other functional languages and many of the concepts. I was able to pick up on the syntax of these languages, but it would be much easier if one language was used throughout. Sometimes it feels that the author is either teaching/advertising the languages, or just plain trying to show off.
I don't think this book presents anything new. It's a decent introduction to the high-level concepts for someone completely unfamiliar with the functional paradigm, but you can safely skip most of the examples.
I had to subtract a star because I have the Kindle edition and none of the figures are rendered. I haven't felt that I've missed any content because of this, but it sure is annoying. The code samples are all there, even though the rendering quality is pretty low.