These promotions will be applied to this item:
Some promotions may be combined; others are not eligible to be combined with other offers. For details, please see the Terms & Conditions associated with these promotions.
Your Memberships & Subscriptions
Follow the author
OK
Functional Programming in Java: Harness the Power of Streams and Lambda Expressions
Imagine writing Java code that reads like the problem statement, code that's highly expressive, concise, easy to read and modify, and has reduced complexity. With the functional programming capabilities in Java, that's not a fantasy. This book will guide you from the familiar imperative style through the practical aspects of functional programming, using plenty of examples. Apply the techniques you learn to turn highly complex imperative code into elegant and easy-to-understand functional-style code. Updated to the latest version of Java, this edition has four new chapters on error handling, refactoring to functional style, transforming data, and idioms of functional programming.
Don't struggle with the limitations of the imperative style; instead learn to combine object-oriented programming with the functional style to reduce the accidental complexity. Harness the functional programming capabilities of Java to create applications where the program reveals its intentions and your team can quickly understand and modify code to align with changing business requirements. Unlock the power of lambda expressions and the Streams API to turn the oft-written spaghetti code into highly concise, expressive, elegant, and maintainable code. See how Streams make the arduous task of parallelizing code as easy as flipping a switch when superior speed is necessary.
Apply design patterns built around lambda expressions, safely manage resource allocations, use memoization, and learn to transform data into different forms, all while honoring immutability, and providing thread safety to leverage lazy evaluation for efficiency and parallel execution for performance. Move beyond the basics, explore the idioms for writing functional programs. Learn to think functionally by refactoring legacy code into the functional style. And, if your code runs aground due to failures, learn to properly handle errors the functional way.
Don't drown in theory; instead learn the practical functional programming techniques to create superior Java code.
What You Need:
Java version 8 or newer.
- ISBN-13979-8888650431
- Edition2nd
- PublisherPragmatic Bookshelf
- Publication dateJuly 20, 2023
- LanguageEnglish
- File size2.3 MB
See all supported devices
Kindle E-Readers
- Kindle Paperwhite (6th Generation)
- Kindle Paperwhite (7th Generation)
- Kindle Colorsoft (1st Generation)
- Kindle Scribe (1st Generation, 2022 Release)
- Kindle (8th Generation)
- Kindle Paperwhite (11th Generation)
- Kindle Scribe (3rd Generation)
- Kindle Scribe Colorsoft (1st Generation)
- Kindle Oasis (8th Generation)
- Kindle Paperwhite (10th Generation)
- Kindle Voyage (7th Generation)
- Kindle Oasis (10th Generation)
- Kindle Oasis (9th Generation)
- Kindle Paperwhite (12th Generation)
- Kindle (10th Generation)
- Kindle (11th Generation, 2024 Release)
- Kindle Scribe (2024 Release)
- Kindle (11th Generation, 2022 Release)
- Kindle (7th Generation)
Fire Tablets
- Fire 7 (9th Generation)
- Fire HD 10 (9th Generation)
- Fire HD 8 (10th Generation)
- Fire HD 10 Plus
- Fire HD 8 (8th Generation)
- Fire 10 HD (13th Gen)
- Fire HD 8 (12th Generation)
- Fire Max 11 (13th Generation)
- Fire 7 (12th Generation)
- Fire HD 8 (12th Generation)
- Fire HD 10 (11th Generation)
- Fire HD 8 (12th Generation)
Free Kindle Reading Apps
- Kindle for Android Tablets
- Kindle for Android Phones
- Kindle for iPad
- Kindle for iPhone
- Kindle for PC
- Kindle for Web
- Kindle for Mac
Alexa Tablets & Amazon Kids Tablets
- Alexa Tablet 12 Pro (8GB)
- Alexa Tablet 12 Pro (16GB)
- Alexa Tablet 11 (8GB) & Amazon Kids Tablet 11 (8GB)
- Alexa Tablet 8 (8GB)
- Alexa Tablet 8 (4GB) & Amazon Kids Tablet 8 (4GB)
Popular titles by this author
Customers also bought or read
- A Functional Approach to Java: Augmenting Object-Oriented Java Code with Functional Principles
Kindle Edition$39.42$39.42 - AI Engineering: Building Applications with Foundation Models#1 Best SellerEnterprise Applications
Kindle Edition$49.76$49.76 - Operating Systems: Three Easy Pieces#1 Best SellerComputer Operating Systems Theory
Kindle Edition$9.99$9.99 - Clean Architecture: A Craftsman's Guide to Software Structure and Design (Robert C. Martin Series)
Kindle Edition$28.78$28.78 - Modern Concurrency in Java: Virtual Threads, Structured Concurrency, and Beyond
Kindle Edition$42.09$42.09 - Kafka: The Definitive Guide: Real-Time Data and Stream Processing at Scale
Kindle Edition$41.79$41.79 - Grokking Algorithms, Second Edition: An illustrated guide for programmers and other curious people
Kindle Edition$49.99$49.99
From the Publisher
From the Preface
Who’s This Book For
This book is for programmers well versed in object-oriented programming in Java and keen to learn and apply the functional programming facilities. You’ll need good experience programming in previous versions of Java, at least Java 5, to make the best use of this book.
Programmers mostly interested in JVM languages like Scala, Groovy, JRuby, Kotlin, and Clojure can benefit from the examples in this book and can relate back to the facilities offered in those languages. They can also use the examples to help fellow Java programmers on their teams.
Programmers experienced with the functional style of programming in other languages and who are now involved in Java projects can use this book, as well. They can learn how what they know translates to the specifics of the lambda expressions’ usage in Java.
Programmers who are familiar with lambda expressions in Java can use this book to help coach and train their team members who are getting up to speed in this area.
What’s in This Book
This book will help you get up to speed with the functional programming capabilities in Java, to think in the elegant style, and to benefit from the additions to the Java Development Kit (JDK) library. We’ll take an example-driven approach to exploring the concepts. Rather than discuss the theory of functional programming, we’ll dive into specific day-to-day tasks to apply the elegant style. This approach will quickly get these concepts under our belts so we can put them to real use on projects right away.
On the first read, take the time to go over the chapters sequentially as we build upon previously discussed concepts and examples. Each chapter closes with a quick summary to recap what was covered. Later, when working on applications, take a quick glance at any relevant example or section in the book. There’s also a syntax appendix for quick reference.
Editorial Reviews
About the Author
Product details
- ASIN : B0CJL7VKFL
- Publisher : Pragmatic Bookshelf
- Accessibility : Learn more
- Publication date : July 20, 2023
- Edition : 2nd
- Language : English
- File size : 2.3 MB
- Enhanced typesetting : Enabled
- X-Ray : Not Enabled
- Word Wise : Not Enabled
- Print length : 478 pages
- ISBN-13 : 979-8888650431
- Page Flip : Enabled
- Best Sellers Rank: #1,947,499 in Kindle Store (See Top 100 in Kindle Store)
- #81 in Functional Software Programming
- #201 in Java Computer Programming
- #242 in Java Programming
- Customer Reviews:
About the author

Dr. Venkat Subramaniam, founder of Agile Developer, Inc., has trained and mentored thousands of software developers in the US, Canada, Europe, and Asia. Venkat helps his clients effectively apply and succeed with agile practices on their software projects. He is a frequent invited speaker at international software conferences and user groups. He's author of .NET Gotchas (O'Reilly), coauthor of the 2007 Jolt Productivity award-winning book Practices of an Agile Developer (Pragmatic Bookshelf),
and author of Programming Groovy (Pragmatic Bookshelf).
Customer reviews
- 5 star4 star3 star2 star1 star3 star89%11%0%0%0%0%
- 5 star4 star3 star2 star1 star2 star89%11%0%0%0%0%
- 5 star4 star3 star2 star1 star1 star89%11%0%0%0%0%
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
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 analyzed reviews to verify trustworthiness.
Learn more how customer reviews work on Amazon



























