Book Review: Scala in Depth

Scala in Depth

Author(s)

Josh Suereth


My Rating

star star star star

Are Scala's implicits giving you nightmares? Well take my word, sweet dreams await upon completion of Josh Suereth's Scala in Depth. For it's step-by-step, all-encompassing guide to Scala implicits alone,this book is well worth your pennies.

If you are coding in Scala, be that for fun or financial gain, this book will cover important gaps in your knowledge leaving you feeling confident of getting to grips with any Scala codebase.

Stand-out Chapters

As I mentioned, the chapter on implicits is immensely useful, but there is another that I thought really stood out.

Chapter 8 - choosing the right collection: wow - I really never understood the impliciations of choosing each type of collection. I used to use Sequences (Seq) wherever I could get away with it. Now, however, I have a much deeper understanding of when Vectors are a good choice as well as knowing about the variety of lazy and parallel collections available to me.

Hard Going in Places Too, Though

Chapters 6 and 7 about the type system really put my intelligence to shame. I just couldn't quite follow along with the examples. Maybe the author could have a done a better job, however I suspect the Scala type system, for me, requires a double-dose to be truly understood.

Apart from that pair, the other chapters were easy to follow along with and I don't have too many criticisms. You will learn something useful from all of them.

In Summary

I benefited a lot from this book. Not only will I be writing better Scala but I'll be confident when tackling other people's code - especially on github.

Some of the examples could be better. Yes, there were probably a few more typos than most books. Also, I felt the author could have cut to the chase a lot earlier by telling me what a feature is good for before explaining how it worked.

Overall, though, if you want to level-up your Scala you could do a lot worse than Scala in Depth.

You may also like...

Programming Erlang

Effective Akka

Functional Programming in Scala

My Books

Designing Autonomous Teams and Services
Patterns, Principles and Practices of Domain-Driven Design
The Strategic Practices of Domain-Driven Design