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.
To get the free app, enter your email address or mobile phone number.
Functional Programming in Scala 1st Edition
Use the Amazon App to scan ISBNs and compare prices.
Frequently Bought Together
Customers Who Bought This Item Also Bought
Top Customer Reviews
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 ›
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 ›
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 ›
Most Recent Customer Reviews
This book is good for people who want to learn more about data structures using Scala. It has good exercises which keeps you involved.Published 24 days ago by Amazon Customer
it is ok book, the layout of describing the language is too overwhelmed with high level features of the language which normally not needed for common usage of language. Read morePublished 1 month ago by Amazon Customer
This is the worst programming book I've ever tried to read. It may be good if you have insomnia, as I fell asleep reading it numerous times. Read morePublished 2 months ago by Steven A. Lowe
Great book, very helpful exercises. Absolute beginners might want to warm up elsewhere though.Published 3 months ago by Liza
Great introduction and depth to carry you along. Scala is surprisingly a pleasure to work with.
AND publisher provides free ebook with print version if new
I've read several books in Scala since I developed an interest in the language end of 2014, including the classic, though outdated, from the creator of the language itself. Read morePublished 3 months ago by asarkar
this is not an easy book, but this is one of the best book. it is MUST have book for scala programmers. highly recommend to do exercises they are really helpful!Published 4 months ago by Creamsoup