Functional Programming for Java Developers: Tools for Better Concurrency, Abstraction, and Agility

Software development today is embracing functional programming (FP), whether it's for writing concurrent programs or for managing Big Data. Where does that leave Java developers? This concise book offers a pragmatic, approachable introduction to FP for Java developers or anyone who uses an object-oriented language.

Dean Wampler, Java expert and author of Programming Scala (O'Reilly), shows you how to apply FP principles such as immutability, avoidance of side-effects, and higher-order functions to your Java code. Each chapter provides exercises to help you practice what you've learned. Once you grasp the benefits of functional programming, you’ll discover that it improves all of the code you write.

  • Learn basic FP principles and apply them to object-oriented programming
  • Discover how FP is more concise and modular than OOP
  • Get useful FP lessons for your Java type design—such as avoiding nulls
  • Design data structures and algorithms using functional programming principles
  • Write concurrent programs using the Actor model and software transactional memory
  • Use functional libraries and frameworks for Java—and learn where to go next to deepen your functional programming skills
1112215282
Functional Programming for Java Developers: Tools for Better Concurrency, Abstraction, and Agility

Software development today is embracing functional programming (FP), whether it's for writing concurrent programs or for managing Big Data. Where does that leave Java developers? This concise book offers a pragmatic, approachable introduction to FP for Java developers or anyone who uses an object-oriented language.

Dean Wampler, Java expert and author of Programming Scala (O'Reilly), shows you how to apply FP principles such as immutability, avoidance of side-effects, and higher-order functions to your Java code. Each chapter provides exercises to help you practice what you've learned. Once you grasp the benefits of functional programming, you’ll discover that it improves all of the code you write.

  • Learn basic FP principles and apply them to object-oriented programming
  • Discover how FP is more concise and modular than OOP
  • Get useful FP lessons for your Java type design—such as avoiding nulls
  • Design data structures and algorithms using functional programming principles
  • Write concurrent programs using the Actor model and software transactional memory
  • Use functional libraries and frameworks for Java—and learn where to go next to deepen your functional programming skills
16.99 In Stock
Functional Programming for Java Developers: Tools for Better Concurrency, Abstraction, and Agility

Functional Programming for Java Developers: Tools for Better Concurrency, Abstraction, and Agility

by Dean Wampler
Functional Programming for Java Developers: Tools for Better Concurrency, Abstraction, and Agility

Functional Programming for Java Developers: Tools for Better Concurrency, Abstraction, and Agility

by Dean Wampler

eBook

$16.99 

Available on Compatible NOOK devices, the free NOOK App and in My Digital Library.
WANT A NOOK?  Explore Now

Related collections and offers


Overview

Software development today is embracing functional programming (FP), whether it's for writing concurrent programs or for managing Big Data. Where does that leave Java developers? This concise book offers a pragmatic, approachable introduction to FP for Java developers or anyone who uses an object-oriented language.

Dean Wampler, Java expert and author of Programming Scala (O'Reilly), shows you how to apply FP principles such as immutability, avoidance of side-effects, and higher-order functions to your Java code. Each chapter provides exercises to help you practice what you've learned. Once you grasp the benefits of functional programming, you’ll discover that it improves all of the code you write.

  • Learn basic FP principles and apply them to object-oriented programming
  • Discover how FP is more concise and modular than OOP
  • Get useful FP lessons for your Java type design—such as avoiding nulls
  • Design data structures and algorithms using functional programming principles
  • Write concurrent programs using the Actor model and software transactional memory
  • Use functional libraries and frameworks for Java—and learn where to go next to deepen your functional programming skills

Product Details

ISBN-13: 9781449315443
Publisher: O'Reilly Media, Incorporated
Publication date: 07/22/2011
Sold by: Barnes & Noble
Format: eBook
Pages: 90
File size: 2 MB

About the Author

Dean Wampler is a Principal Consultant at Think Big Analytics, where he specializes in "Big Data" problems and tools like Hadoop and Machine Learning. Besides Big Data, he specializes in Scala, the JVM ecosystem, JavaScript, Ruby, functional and object-oriented programming, and Agile methods. Dean is a frequent speaker at industry and academic conferences on these topics. He has a Ph.D. in Physics from the University of Washington.

Table of Contents

Preface; Welcome to Functional Programming for Java Developers; Conventions Used in This Book; Using the Code Examples; Safari® Books Online; How to Contact Us; Acknowledgments; Chapter 1: Why Functional Programming?; 1.1 I Have to Be Good at Writing Concurrent Programs; 1.2 Most Programs Are Just Data Management Problems; 1.3 Functional Programming Is More Modular; 1.4 I Have to Work Faster and Faster; 1.5 Functional Programming Is a Return to Simplicity; Chapter 2: What Is Functional Programming?; 2.1 The Basic Principles of Functional Programming; 2.2 Designing Types; 2.3 Exercises; Chapter 3: Data Structures and Algorithms; 3.1 Lists; 3.2 Maps; 3.3 Combinator Functions: The Collection Power Tools; 3.4 Persistent Data Structures; 3.5 Some Final Thoughts on Data Structures and Algorithms; 3.6 Exercises; Chapter 4: Functional Concurrency; 4.1 The Actor Model; 4.2 Software Transactional Memory; 4.3 Exercises; Chapter 5: Better Object-Oriented Programming; 5.1 Imperative, Mutable Code; 5.2 The Liskov Substitution Principle; 5.3 More on Design Patterns; 5.4 What Makes a Good Type?; 5.5 Rethinking Object-Oriented Middleware; 5.6 Exercises; Chapter 6: Where to Go From Here; 6.1 Functional Tools for Java; 6.2 A Recap; 6.3 Exercises; References; Glossary; Colophon;
From the B&N Reads Blog

Customer Reviews