Jump to ratings and reviews
Rate this book

Java 8 Lambdas: Pragmatic Functional Programming

Rate this book
If you re a developer with core Java SE skills, this hands-on book takes you through the language changes in Java 8 triggered by the addition of lambda expressions. You ll learn through code examples, exercises, and fluid explanations how these anonymous functions will help you write simple, clean, library-level code that solves business problems.Lambda expressions are a fairly simple change to Java, and the first part of the book shows you how to use them properly. Later chapters show you how lambda functions help you improve performance with parallelism, write simpler concurrent code, and model your domain more accurately, including building better DSLs.Use exercises in each chapter to help you master lambda expressions in Java 8 quicklyExplore streams, advanced collections, and other Java 8 library improvementsLeverage multicore CPUs and improve performance with data parallelismUse techniques to lambdify your existing codebase or library codeLearn practical solutions for lambda expression unit testing and debuggingImplement SOLID principles of object-oriented programming with lambdasWrite concurrent applications that efficiently perform message passing and non-blocking I/O"

125 pages, ebook

First published January 1, 2014

79 people are currently reading
270 people want to read

About the author

Richard Warburton

6 books5 followers
Richard Warburton is an empirical technologist and solver of deep-dive technical problems. He has recently written a book on Java 8 Lambdas for O'Reilly and is running java8training.com.

He has worked as a developer in many areas including Statistical Analytics, Static Analysis, Compilers and Network Protocols. He is a leader in the London Java Community and runs OpenJDK Hackdays.

Richard is also a known conference speaker, having talked at Devoxx, JavaOne, JFokus, Devoxx UK, Geecon, Oredev, JAX London and Codemotion. He has obtained a PhD in Computer Science from The University of Warwick.

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
70 (26%)
4 stars
130 (48%)
3 stars
57 (21%)
2 stars
8 (3%)
1 star
1 (<1%)
Displaying 1 - 22 of 22 reviews
Profile Image for Elinor.
173 reviews114 followers
December 29, 2020
This is really good introductory material (and a bit more tbh) about Java8 lambdas.

Although they’ve been around for a while now, I find they are still unconventional for many (even experienced) Java Developers.

This book offers a broad perspective on lambdas and functional programming in Java, as well as quite a few looks under the hood.

Kudos to Richard Warburton on sharing his knowledge in entertaining and actionable ways from the basics to non blocking IO through classic Stream operations, functional interfaces, revisiting Design Patterns and other crunchy tidbits.

Also, thumbs up on providing Exercise sections - it’s obvious the reader is expected to keep up.

This made for an efficient read. I definitely recommend.
194 reviews1 follower
March 26, 2014
I'm a big fan of Functional Programming and a working Java developer at JDK 6 for app server compatibility. That's where I'm coming from.

This is an EXCELLENT book for developers who are thoroughly familiar with good ol' Java and want to know more about the promise of fp style programming in the Java ecosystem. The book is exactly as long as it needs to be. Explanations are brief but edifying, code samples are useful. The discussion is a nice mix of Hows and Whys (Whies?), along with some tempting Whats. The attitude of the prose is helpful, conspiratorial and confident.

If you're looking for a single-serving introduction to Java 8 Lambdas, I don't think you'll find one better than this. Another excellent resource is Brian Goetz's State of the Lambda, found here: http://cr.openjdk.java.net/~briangoet... .
Profile Image for Thomas.
Author 1 book57 followers
May 12, 2014
This book would have gotten 4 stars, but I think there are a few places where it's just plain misleading. In particular, the details about parallel and performance could lead to assumptions about easy payoffs from simply making stream operations parallel. Warburton does acknowledge the safety needs here (i.e., making your data immutable and such) but he doesn't really address the fact that the simple parallelism offered here can quickly lead to decreases in performance and unpredictable behavior. This is a serious enough concern that I thought it worth knocking a star off my rating. That said, if you want to quickly get up to speed on the new Java 8 functionality, this is a solid resource for doing so.
45 reviews2 followers
May 15, 2015
a good book to introduce lamadbas. i have read these chapters 2,3,4,5,6,8 and feel useful and understandable.
but if you really want to know how to use lamabdas,you should use java8 in your real project,and check the java8 api for real practice. at that time,the book will give you more value.
the chapters 9 is a little difficult to understand,the chapter 8 can teach you some design pattern through lambdas,but is a little repeatable.
Profile Image for Dmytro Chasovskyi.
89 reviews
January 16, 2019
First, this book is not for everyone (from my perspective). It is oriented on people who many years in Java and what to switch from Java7 to Java8. Second, this book has a good examples and describe many concepts, patterns, common design decisions but I felt as I need more in-depth look and more examples to see and try concept from different angles.

To summarize, this book is for people with 3+ years of Java experience (my subjective opinion) who want to switch from Java7 and need short guide about what is new in Java8.
Profile Image for Amit Tiwari.
17 reviews
January 30, 2019
Short and concise book on java 8

This books cover all aspect of java8 in concise manner. One of the good book I read on java 8.
64 reviews1 follower
January 25, 2021
I really enjoyed the book, it is a good introduction to functional programing in Java with Lambdas, I like how the author focused on sharing the right concepts behind each idea or code snippet.

One thing I didn't like is the idea that Lambdas can replace everything even if it is not necessary and that was obvious in Chapter 8 where it was focused on writing lambdas just to save some extra lines which will cause duplication in the future.
Profile Image for Venkatesh-Prasad.
223 reviews
October 9, 2017
A quick introduction to lambdas in Java 8. However, if one (like myself) is familiar with functional programming (e.g., F#, SML), then this will be a short read as lambdas aren't that different from higher-order functions and there aren't too many nuances in Java.
Profile Image for Snejy.
31 reviews10 followers
February 4, 2018
If one's familiar with lambdas in Java 8 - the first part of the book would be not very useful. What I really liked are the chapters about Completable Futures and Parallelism.
Profile Image for Łukasz.
136 reviews6 followers
November 15, 2021
Solidnie, konkretnie, kompleksowo i na temat. A, no i zrozumiale, więc nie ma się za bardzo do czego doczepić.
15 reviews
January 3, 2023
A window to Java 8 lambda, didn't go very deep into each topic, which is great for introduction and refreshment.
1 review1 follower
January 22, 2016
Extensive Book

Since last few months, I have been trying to find a good book on learning lambda expressions thoroughly. I tried with some of the books available in market but this books is the one which I like most. It covers each and every aspect of lambda expressions with proper exercises which helps people learn more. I truly recommend this book if you're interested in learning Java 8 lambda expressions clearly.
Profile Image for ᴀᴍɪᴛ.
38 reviews5 followers
March 2, 2016
A concise book on subject but does not lack any valuable aspect of Lambdas. It can have more information on Data Parallelism, but owing to Conciseness being its native attribute, i think it is justified... Data parallelism is a detail oriented subject; which need to be addressed separately. Please also read following topics along with this book,
1. Method Handle in JDK7
2. Java Lang Invoke package classes
3. Scala Closures
Profile Image for Algirdas Raščius.
30 reviews8 followers
October 11, 2014
This book provides introduction to new Java 8 features targeted to seasoned pre-8 Java programmer. Provided material is useful and helps to start using Java 8 features quickly.
However book contains several typos and even code examples that do not hold to Java stream library contract (i.e. example code will work in most but not all typical use cases).
Profile Image for Rodion Krivoshein.
66 reviews5 followers
September 2, 2016
This is a must read for anyone who's just started coding using Java 8. The book, besides a lot of good examples and concept explanations, contains, to my surprise, very, very good chapter on concurrency, describing a high-order functions approach to write non-blocking code in a way similar to Streams API.
62 reviews1 follower
December 13, 2016
Good book, short, concise and to the point. Great introductions to streams & other news in Java 8. It got a bit abstract at the end, but overall a good read.
Profile Image for Hakan Kjellerstrand.
Author 0 books3 followers
April 25, 2017
The first 5 or 6 chapters was great. However, for me right now in my study of the new stuff in Java 8, the latter chapters (especially chapter 8, and 9) was not so interesting since they was not about lambas/Streams. Perhaps - soon or in the future - I will re-read these chapters with more interest.
Displaying 1 - 22 of 22 reviews

Can't find what you're looking for?

Get help and learn more about the design.