To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyses reviews to verify trustworthiness.
If I paid the full new price for this book, with it being so small I'd feel short changed, however:
It can be hard to make head or tail of functional programming coming from an object oriented world. This book makes a good attempt at using Java to describe the concepts of functional programming, and ultimately tries to get you to think in a more declarative and 'functional' manner when approaching programming problems. Therefore there is a lot of talk about concepts like concurrency and abstraction, with relatively small code snippets which I think is why it has got some negative reviews. But it is concise and I think reads pretty well. Contrary to what you might think you can use a lot of functional concepts in Java with the libraries presented in this book, without the need to take up another specifically functional language.
But it certainly isn't a book about a particular technology which you can learn and say 'now I know functional programming'. It is a good intro though.
Nothing wrong with the book. Let us say that it is for OO programmers with no exposure to FP (essentially is a FP primer), and not a book for FP that want to apply more FP techniques in Java. BTW, with Java 8 there are a number of more recent books about FP techniques in Java that are obviously more up to date.
This is actually more a sequel than a book. Very thin, it introduces some interesting ideas about functional programming. However, many terms are introduced without clear definitions. Seen that the author is excited about the subject. But like many excited software developers, he cannot express the subject concisely.
This presents a somewhat bespoke approach for functional programming with JAVA and is not consistent with the syntax used in JAVA 8. This book is on how one might achieve functional programming in JAVA if it were not available. It is interesting reading, but not for someone who is looking for learning the standard methods for programming JAVA using its functional syntax. A traditional text on functional programming for undergraduate computer science students which covered all of the fundamentals and abstracts of this programming paradigm would be a much better "first-choice" for a text. This work would be an excellent read for someone who is interested in developing a "functional-programming" application programming interface for an imperative language and is interested in seeing an example of how this might be done.
I appreciate the format of the book given that it's short and the author is trying to educate others about functional programming. I do see some utility in this book for those who haven't been exposed to functional programming before (which is why I give it two stars) and it may be more accessible than other resources, but there are other introductory resources that I would recommend before this one. Maybe for a professional Java developer this book makes more sense as a quick crash course.
The "References" section left much to be desired as many of the sources were links to Wikipedia pages and blog posts.
Don't expect much from this book, unless you're new to functional programming and haven't used any of the newer collection libraries or haven't used a language like Scala then this might make sense to start with. The book doesn't bombard you with that much information which provides a gentler introduction than others. I'm not sure though that this book does that great of a job at highlighting or demonstrating the benefits of functional programming.
What attracted me to this book is the fact it had some great examples of collections. I read over half of this small book in a day. It gave me a real rush! Very up-to-date. It even hints to some of the added features in Java 8.