Functional Programming for Java Developers
Tools for Better Concurrency, Abstraction, and Agility
Publisher: O'Reilly Media
Released: July 2011
Pages: 90

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
Table of Contents
Product Details
About the Author
Recommended for You
Customer Reviews

REVIEW SNAPSHOT®

by PowerReviews
O'Reilly MediaFunctional Programming for Java Developers
 
3.1

(based on 8 reviews)

Ratings Distribution

  • 5 Stars

     

    (1)

  • 4 Stars

     

    (4)

  • 3 Stars

     

    (0)

  • 2 Stars

     

    (1)

  • 1 Stars

     

    (2)

63%

of respondents would recommend this to a friend.

Pros

  • Easy to understand (7)
  • Concise (5)
  • Helpful examples (5)
  • Well-written (4)

Cons

  • Not comprehensive enough (4)

Best Uses

  • Intermediate (5)
  • Novice (5)
  • Student (3)
    • Reviewer Profile:
    • Developer (7)

Reviewed by 8 customers

Sort by

Displaying reviews 1-8

Back to top

 
4.0

A good introduction to FP

By Rob Day

from London, UK

About Me Developer

Verified Reviewer

Pros

  • Concise
  • Helpful examples

Cons

    Best Uses

    • Novice

    Comments about O'Reilly Media Functional Programming for Java Developers:

    I think this book has two strengths that make it a very good FP introduction:
    * It's aimed at people who already know Java, so not trying to introduce a new programming language alongside a new programming style.
    * Because it's aimed at Java developers, it needs to discuss functional programming from the basics up.

    Even though I've been programming in Clojure for about a year, I still found this to be a very good primer on the key points of functional programming, and it filled in some gaps I hadn't understood - its discussion of foldl and foldr, for example.

    It's a short book, but not very expensive, and I'd recommend it as a first taste of FP before approaching Haskell/Clojure/Scala.

     
    4.0

    Great for Java FP learner

    By lyhcode

    from Taiwan

    About Me Developer, Educator

    Pros

    • Easy to understand
    • Helpful examples
    • Well-written

    Cons

    • Not comprehensive enough

    Best Uses

    • Expert
    • Intermediate

    Comments about O'Reilly Media Functional Programming for Java Developers:

    New Java 8 brings Lambda and Closure features. I think more Function Programming needs will coming soon. But less books talk about this topic -- Java and FP. Thanks to Wampler the author for written this book. It save me a lot of time to meet and try the Java FP style.

    This book is not suitable for FP newbie. Because FP in Java is not a native design. Please study something like Scheme first before read this book.

    (1 of 1 customers found this review helpful)

     
    1.0

    Weak

    By Paul Houle

    from Brooktondale, NY

    About Me Developer

    Verified Reviewer

    Pros

    • Concise
    • Easy to understand
    • Well-written

    Cons

    • Not comprehensive enough

    Best Uses

    • Student

    Comments about O'Reilly Media Functional Programming for Java Developers:

    This book is short and clear, but I think it leads Java developers in the wrong direction.

    In particular, the book's implementation revolves around an implementation of LISP lists as an Algebraic Data Type. This a good choice for LISP, but not in Java, where you can easily bulk up your data structures 2 or 3 times (as compared to ArrayList) by adding extra objects and pointers.

    The Guava framework, not at all discussed in this book, lets you get most of the benefits of functional programming while using the flexible Iterator and Iterable types, which let you use efficient data structures and/or streaming.

    (1 of 1 customers found this review helpful)

     
    1.0

    Just a magazine article

    By Kurtk

    from Boston, MA

    About Me Developer

    Verified Reviewer

    Pros

    • Easy to understand

    Cons

    • Not comprehensive enough
    • Too basic

    Best Uses

    • Student

    Comments about O'Reilly Media Functional Programming for Java Developers:

    This not a book (just 60 pages long), but a long article. Half the book is about how pros of functional programming. All the examples are trivial and any interesting extensions are left as an exercise.
    I've bought plenty of the O'Reilly books (they're great), but this is the only one not worth the cost.

    (3 of 3 customers found this review helpful)

     
    2.0

    I guess you could do worse

    By Mike

    from Finland

    Verified Reviewer

    Pros

    • Easy to understand
    • Short

    Cons

    • Not comprehensive enough
    • Useless

    Best Uses

    • Intermediate
    • Novice

    Comments about O'Reilly Media Functional Programming for Java Developers:

    To be honest, I was very disappointed with the book. It definitely left me hungry, but I didn't feel like I really learned anything much about functional programming. It was a short and quite easy to finish, but I need to look elsewhere to actually learn something.

    (3 of 3 customers found this review helpful)

     
    4.0

    Great overview for getting functional

    By sandyboy55

    from St. Louis, MO

    About Me Developer

    Verified Reviewer

    Pros

    • Concise
    • Easy to understand
    • Helpful examples

    Cons

    • Too basic

    Best Uses

    • Intermediate
    • Novice

    Comments about O'Reilly Media Functional Programming for Java Developers:

    Functional Programming is back! After 2-3 decades of Object Oriented Programming which made languages like Lisp seem like a dinosaur, the software community has turned its focus back on FP. And with good reason! OOP has fallen short of the demands of concurrent programming leading to convoluted code that only a few experts can read and write. New FP languages today like Scala or Clojure address this issue by providing a robust language that can run on the good old reliable JVM. That way you don't need a huge change in your infrastructure - just add a few jars and you are ready to dive in. This book will teach you how.

    If you have been wondering about Software Transactional Memory, The Actor Model, MapReduce, and other buzz words that have been going around lately, its time to pick this book. The author does a fine job of explaining what FP is, what it aims to solve, when to use it, and how to get started with it. The author explains very well the differences between imperative (OOP) and declarative (FP) programming.

    This book is a brief introductory book that scratches the FP arena. By no means there is any depth provided. Developers looking for developing expertise in a particular FP language have to look elsewhere but might benefit from reading this book to get a good overview.

    (1 of 1 customers found this review helpful)

     
    4.0

    Get Started with FP.

    By Rob

    from Brisbane, Australia

    About Me Developer

    Verified Reviewer

    Pros

    • Accurate
    • Concise
    • Easy to understand
    • Helpful examples
    • Well-written

    Cons

      Best Uses

      • Intermediate
      • Novice

      Comments about O'Reilly Media Functional Programming for Java Developers:

      It was with eagerness and anticipation that I picked up a copy of "Functional Programming for Java Developers". I'd heard about it on twitter, and conversations with my resident functional guru (Tony Morris) got me excited about the potential for this book.

      In the end it made for a quick read. Having spent many hours working through functional exercises with Tony meant that I'd already been introduced to the majority of the ideas covered in the book, and so I fell outside the main target audience of java developers who haven't done functional programming, but are interested. I'd definitely recommend this book to anyone who hasn't done functional programming, and is interested, but not to people who've already had exposure.

      As the target audience for the book is for that group of people, I think it gets it spot on, and anyone in that group should grab a copy. The coverage of functional programming using Java is good, and the bibliography and list of next steps is great. I've marked this book for intermediate/novices. It's actually for decent Java Developers, but novices to the Functional Programming ideas.

      (1 of 1 customers found this review helpful)

       
      5.0

      must read for fp learners

      By SaadSqrs

      from Dallas,TX

      About Me Developer

      Verified Reviewer

      Pros

      • Accurate
      • Concise
      • Easy to understand
      • Helpful examples
      • Well-written

      Cons

        Best Uses

        • Intermediate
        • Novice
        • Student

        Comments about O'Reilly Media Functional Programming for Java Developers:

        Explains the functional programming concepts well, although examples are in java, non-java developers should have no problem following along. Best part is that it is concise and short I think will read it again. This should be a must read before you start to learn a functional language such as scala.

        Displaying reviews 1-8

        Back to top

         
        Buy 2 Get 1 Free Free Shipping Guarantee
        Buying Options
        Immediate Access - Go Digital what's this?
        Ebook: $16.99
        Formats:  DAISY, ePub, Mobi, PDF
        Print & Ebook: $25.29
        Print: $22.99