Goodreads helps you keep track of books you want to read.
Start by marking “Functional Programming in Scala” as Want to Read:
Functional Programming in Scala
Enlarge cover
Rate this book
Clear rating
Open Preview

Functional Programming in Scala

4.43  ·  Rating details ·  620 ratings  ·  57 reviews
Functional programming (FP) is a programming style emphasizing functions that return consistent and predictable results regardless of a program's state. As a result, functional code is easier to test and reuse, simpler to parallelize, and less prone to bugs. Scala is an emerging JVM language that offers strong support for FP. Its familiar syntax and transparent interoperab ...more
Paperback, 346 pages
Published 2013 by Manning Publications
More Details... Edit Details

Friend Reviews

To see what your friends thought of this book, please sign up.

Reader Q&A

To ask other readers questions about Functional Programming in Scala, please sign up.

Be the first to ask a question about Functional Programming in Scala

Community Reviews

Showing 1-30
Average rating 4.43  · 
Rating details
 ·  620 ratings  ·  57 reviews

More filters
Sort order
Start your review of Functional Programming in Scala
Rod Hilton
Aug 24, 2012 rated it really liked it
Full Disclosure: I was a Technical Reviewer for this book

Functional Programming in Scala is a very interesting, but extremely challenging book. One thing it is not is a Scala book, despite that the name may make you think. This is a book about Functional Programming itself, and the language it uses for examples simply happens to be Scala. The content borders on academic in nature, if you know any nerdy neckbeards who are super into Functional Programming and like talking about monads and functor
This book should be required reading for anyone wanting to really learn and understand Scala. It's not that the book will necessarily give you mastery of the language -- only time and experience gained through writing lots of code can do that, though they help by giving the reader lots of good exercises. But it will alter your view of the language and very likely teach you a new way of approaching problems. The authors are both expert Scala engineers with deep understanding of the principles of ...more
Philip Hollenback
Giving up on this. Lessons learned:

1. I hate scala. I hate object oriented programing and scala gives you the worst of OO combined with the baffling complexity of functional programming.

2. I am not a good functional programer.

This book is dense, dense, dense. I don't think you could use it to learn functional programming unless you already understand functional programming.

I'm going to try Clojure and see if that works any better.
Debasish Ghosh
Dec 21, 2013 rated it it was amazing
Possibly one of the best book on functional programming for the practitioners.
Emre Sevinç
Jul 30, 2017 rated it it was amazing
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 SICP.). 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 w ...more
Damien Buren
This had lots of good, practical advice.
Bjoern Rochel
Jul 27, 2017 rated it really liked it
Shelves: 2015, 2016, 2017
1 1/2 years later I've at least read through the content. I'm still far from done with all the exercises. I'll probably give me another year to do that 😂

The best side of the book is also its worst. It really hammers the content into the head with small steps and repetition in exercises. But this is a time sink. Must people don't have the time. Even I gave up on this book since once, since it was too time consuming.

But the content is worth it and quite illuminating. Even if you probably won't wri
Michael Korbakov
Jul 27, 2013 rated it it was amazing
Great book that will bring you up to speed with modern functional programming. Knowing Scala is useful but not required. All important concepts like monads, applicative functors and traverses are introduced in natural way as useful solution for common problems. Exercises are well formulated and extremely helpful.
Important note: this is NOT the book to learn Scala as language. It's just giving you bare minimum to understand the concepts, not the full power of language.
Sebastian Gebski
Jan 21, 2014 rated it it was amazing
I've read it all wrong. And I'm the one to be blamed for that.

First: this is not a typical programming language learning book - you don't READ it, you EXERCISE it. Just reading through means that you're getting 10% of knowledge you could get, because every topic covered in the book has its own section of very valuable exercises that will help you master it. And (believe it or not) these exercises are the biggest value addition, much more than the descriptions. Some exercises are really hard and
Michael Koltsov
Mar 12, 2016 rated it really liked it
This book has an outstanding goal – teaching FP principles to those who might have close to no experience with functional programming. I reckon that’s not doable during the coarse of a few hundred pages. Fortunately, this book delivers that what it has promised.

All the book’s materials are split into the chunks of textual information and exercises you’re encouraged to do in order to fully absorb all the meaningful information you might otherwise forget in a day.Since starting to read I understoo
Pradeep Kumar
Feb 24, 2017 rated it it was ok
Unreadable, especially in the most interesting parts.

The exercises would have been better if their solutions followed immediately. As it is, the book demands too much from its readers.
Rutvik Patel
May 06, 2018 rated it it was amazing
The most *CHALLENGING* and *REWARDING* book I've ever read on programming. Content of the book is extremely dense and authors have often been reminding - almost in every chapter since part I - "Don't worry too much about following absolutely everything in this section" and it's pretty much assuring. Exercises are the key elements. Its a part of the content so don't leave it, otherwise you are going to be stuck in sections to come.

Here is a quote from chapter I "Functional programming is based on
Jun 01, 2017 added it
Shelves: nf-science-cs
I've started rereading this again and was just reminded of one of things I most detest about this book: required exercises. No. I will not do these and if you cannot communicate clearly what you are trying to without these exercises, then I do not believe you have done a good job.
Hang Zhao
Dec 11, 2013 rated it it was amazing
Finished the 12 edition.
Although I still need to go through it several times to get some of the harder exercises. I fill this book will be a classic.

The first 6 chapters are great to get a mood and idea of Functional Programming and how to do it in Scala.
Then you get into real life libraries to get the power of Functional Programming.
Chap 10-12 give some of the best explanation for Monoid/Functor/Monad/Applicative Functor/Traversable
Chap 13-14 will get you into the "weak" side of Functional Pr
Aug 20, 2017 rated it it was amazing
A must-read if you want to get the most out of Scala functional capabilities.

In order to get from the premise to the final implementations it uses a nice incremental approach where every step is both useful and meaningful. It's as concise and to-the-point as it can be, which also makes this a really dense book.

I'll keep revisiting it for a long time, in order to grasp its concepts by rereading and doing every exercise.
Tomasz Bartczak
Aug 26, 2014 rated it liked it
Shelves: software
It was a very challenging book. The material in there is really vast and well prepared with tons of exercises.
FP makes you think in a different way, and that's hard to accept at first. After finishing this book I know more about FP but seeing a bigger picture I know there's more to uncover than I initially thought.
Eileen Sauer
Oct 06, 2015 rated it it was amazing
Haven't understood all of it, it's pretty dense but it's doable when you go through Martin Odersky's Coursera course on Scala
Feb 06, 2019 rated it really liked it
This is one of the best book to learn (typed)functional programming. I found it to be even better than some of the books available in Haskell.

- It starts slowly but gets quite dense as it proceeds to the later chapters.

- Learn Building infinite streams using scala constructs! This is quite helpful in understanding laziness. Though I enjoyed building infinite streams in SICP more, the coverage in FP in scala book turned out quite decent.

- The second part builds three very different libraries usin
Tony Poerio
Jun 24, 2017 rated it really liked it
Don't judge this book by its cover. Or by its slim profile.

This is an extremely in-depth an challenging deep dive into FP, and it's very hands on.

You'll be asked to re-derive and re-implement many features of Scala's standard library... and from first principles.

If you're used to tearing through programming books and learning a language/framework in a weekend.. then this will leave you frustrated. (At least in my experience.)

But if you sit back, do it in your spare time, and treat it as a long
Sep 27, 2018 rated it really liked it
Shelves: read-again
Love this book. Scala was conceived as a fusion between OO and Functional, and no other book I've read expresses it as well as "the red book".

It's not perfect though, but that's a personal preference. The second part of the book - and to a lesser extent the third too - exposes problems in a non-linear way. This is intentional. The author wants to simulate the somewhat meandering journey of coming up with an API. But to me the dead ends and frequent breaks to write exercises distract from the lar
Arvind Balasubramaniam
Jun 16, 2017 rated it liked it
Shelves: computers
Haven't finished the book but I found it way too hard for my taste. It could have been renamed "101 scala exercises to practice functional programming with hints".

It might be more useful for someone who's already had real world experience with functional programming or programming with scala, but for someone who's new to these technologies and paradigms, you will not have much to take from it as it will simply go over your head.

Might come back to this book in a few month's time but if you're a
Mark Reynolds
Mar 05, 2019 rated it liked it
Shelves: stalled, given-up
This book is hard, the first 6 chapters will set you up with a lot of information in scala and give you tools to understand the more functional aspects of scala. If there is one issue it's sometimes hard to see the purpose of the exercises at first and it's easy to become dejected and confused so I have had to read the first 6 chapters 4 times to get a grip on what is being taught. The next three parts of the book really go into functional programming but so far I have struggled with reading the ...more
Nov 15, 2019 rated it liked it
It is a hard book to read and grasp in one go. It requires grokking. You have to go through it multiple times and reading and re reading.

I had to skim as the chapters progressed. One needs to practice what is given and the authors build on top of it. It is deeply rewarding as you work through the problems and discover the gems as the author mentions it.

The authors demonstrate what is possible with a few lines of code. Purely genius.

I will return back to it again after the first skim.
Feb 26, 2020 rated it it was amazing
This is a great book to learn functional programming via Scala. It is not about learning Scala,but functional programming. More importantly it contains tons of exercises. I guess I will keep on doing them for quite a while, since I skipped over many of them.

It makes a great job explaining concepts which seem daunting like monads, referential transparency, effects, etc.

I was programming in Scala for some time, and for me this was really the most adequate moment. I wouldn't recommend it to a begin
Kane See
Mar 18, 2020 rated it liked it
This is not a book about scala!
It is a book about functional programming. It's quite challenging, especially if you're new to both functional programming and scala. I'd recommend reading scala first and then diving into this one.

The book is probably good, I just don't have enough experience to appreciate it. I think I will read it again one day. I wish the title didn't include "scala" in it. I want to make sure people trying to learn scala don't pick up this book as their first resource.
Anil Thaplar
Jun 05, 2019 rated it it was amazing
I would have given all the stars of the world to this book. Difficult read but a brilliant book I don’t say I have read completely. It takes months or years to get this whole thing. This book is tremendous contribution to “purely” style functional programming. If you wish to learn Haskell I recommended going Scala route and working through this book!!!
Jan 23, 2020 rated it really liked it
A bit more academic and abstract then I'd like (but what I was expecting, really, given the book's topic). And it would have been nice if the exercise answers were included in the text. If a high-level, abstract discussion of functional programming is what you're after, this definitely fills the bill. If you want to learn scala (or even functional scala), it might not be the right fit.
Banner B Schafer
May 04, 2020 rated it it was amazing
This book challenged the way I thought about programming and building software. It forced me to think deeply about FP techniques and the tradeoffs I accept by not using FP.
This book deserves a lot of attention. I would not recommend reading through FP in Scala like a book. You should expect to spend a significant amount of time doing exercises and reviewing the example source listings.
Zoltán Elek
Aug 27, 2017 rated it really liked it
A comprehensive book I'd recommend for anyone wanting to get into the world of Scala.
For those who haven't made up their mind, I would recommend the now open-source Underscore books, but this gives a more in-depth knowledge about the language with more examples and exercises.
Jan 19, 2019 rated it really liked it
Very interesting book, but I found it a little bit overwhelming if you don't have a very good foundations of functional programming. I don't recommended this book for learning FP, but it is a really interested one if you one to improve your skills in Scala (FP flavour)
« previous 1 next »
topics  posts  views  last activity   
Wrong number of pages 1 2 Oct 09, 2016 03:15AM  
Goodreads Librari...: Author name incorrect on book 25863860 3 16 Jan 15, 2016 12:54PM  

Readers also enjoyed

  • Programming in Scala
  • Designing Data-Intensive Applications
  • Head First Design Patterns
  • Effective Java
  • Scala in Depth
  • Building Microservices: Designing Fine-Grained Systems
  • Scala for the Impatient
  • Clean Code: A Handbook of Agile Software Craftsmanship
  • Akka in Action
  • The Pragmatic Programmer: From Journeyman to Master
  • The Clean Coder: A Code of Conduct for Professional Programmers
  • Spring in Action
  • JavaScript: The Good Parts
  • Advanced Scala with Cats
  • Design Patterns: Elements of Reusable Object-Oriented Software
  • The C Programming Language
  • Kotlin in Action
See similar books…

Goodreads is hiring!

If you like books and love to build cool products, we may be looking for you.
Learn more »

News & Interviews

Whether it’s magic schools, dystopias, paranormal love stories, or contemporary explorations of important real-life issues, young adult books a...
148 likes · 133 comments