Paperback: 160 pages
Publisher: Pragmatic Bookshelf; 1 edition (March 1, 2014)
Product Dimensions: 7.5 x 0.4 x 9.2 inches
Shipping Weight: 12.8 ounces (View shipping rates and policies)
Average Customer Review: 3.9 out of 5 stars See all reviews (18 customer reviews)
Best Sellers Rank: #324,432 in Books (See Top 100 in Books) #31 in Books > Computers & Technology > Programming > Parallel Programming #37 in Books > Computers & Technology > Programming > Functional #70 in Books > Computers & Technology > Programming > Software Design, Testing & Engineering > Tools
This is an excellent book for experienced Java developers who want to learn the new functional programming (FP) aspects of Java 8. Highly recommended.Throughout the book, Venkat shows how to implement simple examples that are easy to wrap your head around using the old imperative style of Java, and then rewrites the examples using FP. That approach is very effective and accomplishes two things:1. Having both imperative and FP implementations of the same examples make it much easier to understand the FP implementations because experienced Java developers can relate FP to the way they're used to writing code. Without the imperative versions, I don't think the FP versions would be nearly as clear to experienced Java developers without a FP background.2. The differences between the imperative and FP versions of the code are striking. The FP versions are shorter, simpler, and once you are comfortable with the FP constructs, easier to understand. And by avoiding mutable objects, you don't have to deal with trying to get your code to work properly in a multi-threaded environment - something that is nearly impossible with imperative Java.The main difference between imperative and FP is that with the former, you specify how you want to do things, whereas with FP, you specify only what you want to do, leaving the details to FP constructs such as the map() function. Venkat's approach makes that difference abundantly clear.If you're new to Java, then this is probably not the book for you. However, if you've been writing imperative Java code for a while, I can't imagine a better way to learn the functional aspects of Java 8.