Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.

  • Apple
  • Android
  • Windows Phone
  • Android

To get the free app, enter your email address or mobile phone number.

Functional Programming in Scala 1st Edition

4.5 out of 5 stars 58 customer reviews
ISBN-13: 978-1617290657
ISBN-10: 1617290653
Why is ISBN important?
This bar-code number lets you verify that you're getting exactly the right version or edition of a book. The 13-digit and 10-digit formats both work.
Scan an ISBN with your phone
Use the Amazon App to scan ISBNs and compare prices.
Trade in your item
Get a $10.76
Gift Card.
Have one to sell? Sell on Amazon
Buy new
In Stock.
Ships from and sold by Amazon.com. Gift-wrap available.
List Price: $44.99 Save: $6.65 (15%)
57 New from $24.09
Functional Programming in... has been added to your Cart
More Buying Choices
57 New from $24.09 36 Used from $24.09
Free Two-Day Shipping for College Students with Amazon Student Free%20Two-Day%20Shipping%20for%20College%20Students%20with%20Amazon%20Student

$38.34 FREE Shipping. In Stock. Ships from and sold by Amazon.com. Gift-wrap available.
click to open popover

Frequently Bought Together

  • Functional Programming in Scala
  • +
  • Scala for the Impatient
Total price: $65.00
Buy the selected items together

Editorial Reviews

About the Author

Paul Chiusano has been writing and shipping functional code in Scala since 2008 and is responsible for the introduction and growth of Scala usage at his company. As part of this effort he co-designed a functional programming curriculum and taught an internal course for coworkers interested in learning FP. Paul is also a regular blogger and speaker on functional programming and Scala.
Rúnar Bjarnason is a self-taught programmer with two decades of industry experience, focusing on functional programming since 2008. He blogs and occasionally speaks on functional programming and the Scala programming language.

Product Details

  • Paperback: 320 pages
  • Publisher: Manning Publications; 1 edition (September 14, 2014)
  • Language: English
  • ISBN-10: 1617290653
  • ISBN-13: 978-1617290657
  • Product Dimensions: 0.5 x 6.8 x 9 inches
  • Shipping Weight: 1.1 pounds (View shipping rates and policies)
  • Average Customer Review: 4.5 out of 5 stars  See all reviews (58 customer reviews)
  • Amazon Best Sellers Rank: #18,311 in Books (See Top 100 in Books)

Customer Reviews

Top Customer Reviews

By Paul Snively on September 12, 2014
Format: Paperback
Full disclosure: Paul and Rúnar are both friends and colleagues.

I use Scala professionally, but recreationally I program in OCaml. I've studied OCaml and Haskell in some depth, and dabbled in even stranger languages like Concurrent Clean and Mercury. So I'm reasonably familiar with the functional programming literature. This is by way of background for the extravagant claim I'm going to make: "Functional Programming in Scala" is the best book on functional programming yet written, regardless of language.

Why do I think that is? Ironically, I think it has to do with essentially two things: that Scala is not a purely functional language like Haskell, Clean, or Mercury, and that Scala is a relatively deficient functional programming language. These issues combine to necessitate more motivation than, e.g. a Haskell book requires (the reader will be doing referentially-transparent programming whether they see the need for it, like it, or not) and greater clarity of exposition (it's easy for FP in Scala to become pretty ugly pretty quickly if you don't approach it with discernment and taste). Thankfully, Paul and Rúnar have the discernment, experience, and taste that this endeavor calls for.

Also perhaps because Scala has seen relatively widespread adoption, the book cannot, and does not, fall into the trap of only discussing the low-hanging fruit of statically-typed functional programming. There are no compilers or theorem provers in this book, cool as whipping one of those out over the weekend undeniably is. This book is about surprisingly mundane stuff... that's proven, over decades, ridiculously easy to get wrong, whether you have one year's experience, ten years' experience, or one year's experience ten times.
Read more ›
1 Comment 73 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Paperback
Functional Programming in Scala is an incredibly well-thought-out and well-written book. I bought this book in the very early days when it became available on Manning's early access program and have delighted in it ever since. It has been an invaluable resource to me as I continue to learn functional programming.

I was programming in Scala for a year or so and started to sense that there was something very powerful about functional programming concepts. I knew enough to know that the Scala I was writing wasn't functional at all, but I wasn't really sure where I could go to obtain the knowledge I was looking for. I picked the brains of people much smarter than me in IRC, etc but I really craved a formal learning experience that could take me from preliminary concepts to the more advanced stuff. Unlike Haskell, Scala doesn't enforce purity and that can make for a real uphill battle when trying to learn functional programming; there are far too many escape hatches. Then this book came out and it really opened up the whole area for me.

There's a very delicate balance that programming books have to strike in order to create a really good learning experience - there has to be the right amount of guidance, but also challenge. This book strikes that balance perfectly. It is incredibly challenging in a good way, but I never felt completely lost. My brain hurt (a lot) when working through this book, but that was a very good sign. Coming from Java and other languages, my prior experience hurt me more than anything. I had to forget *everything* that I knew in order to make gains in this new world of functional programming.

What makes this book so good is the combination of the clear explanation of fundamental concepts and the exercises.
Read more ›
Comment 25 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Paperback
It is safe to say that "Functional Programming in Scala" by Chiusano and Bjarnason can be considered the most advanced Scala programming book published so far (in a sense, it can be compared to Structure and Interpretation of Computer Programs - 2nd Edition (MIT Electrical Engineering and Computer Science).). Half of one of my bookshelves is occupied by Scala books, including Scala in Depth, but none of them takes the concept of functional programming as serious as this book, and pushes it to its limits that much. This, in turn, means that most of the Java programmers (including very senior ones), as well as Scala programmers with some experience should prepare themselves to feel very much like a newbie again.

But why the need for such a book, and what's all that noise about functional programming? Here is my favorite description of functional programming given by Tony Morris : "Supposing a program composed of parts A, B, C, D, and a requirement for program of parts A, B, C, and E. The effort required to construct this program should be proportional to the size of E. The extent to which this is true is the extent to which one achieves the central thesis of Functional Programming. Identifying independent program parts requires very rigorous cognitive discipline and correct concept formation. This can be very (very) difficult after exposure to sloppy thinking habits. Composable programs are easier to reason about. We may (confidentally) determine program behaviour by determining the behaviour of sub-programs -> fewer bugs.
Read more ›
Comment 19 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse

Most Recent Customer Reviews

Set up an Amazon Giveaway

Functional Programming in Scala
Amazon Giveaway allows you to run promotional giveaways in order to create buzz, reward your audience, and attract new followers and customers. Learn more
This item: Functional Programming in Scala