Review of 'Functional Thinking: Paradigm Over Syntax' on 'Goodreads'
3 stars
An overview, aimed squarely at Java programmers
I read the early release version, which contains some typos and is missing the finalized citations and images. And apparently missing some connective tissue as well, as the transitions between sections are a bit choppy.
Despite the book's length, it is essentially an overview, with the principles of functional programming condensed into a couple of chapters, giving examples of functional code and contrasting it with imperative or OO code.
I liked that the functional code examples were in a variety of languages, giving a glimpse of the variety available, and letting the reader translate into the language of his/her own choice. I disliked that
all of the imperative code examples were in Java, which seems to be an awkward choice for imperative code, being so strictly OO.
A large chunk of the book was given to showing how to get functional languages to do OO sorts of things, and OO languages, specifically Java, to do functional things. On one level this makes sense, as you would want to have the widest variety of tools available in whatever language you choose to use. But on another it makes me feel uneasy, as if you're trying to get around the fact that you didn't choose the right language for the task in the first place.
I would recommend this book for programmers who grew up with Java, and know nothing else, as it will expose them to different ways of doing things. But more experienced programmers would be less likely to learn much from it.