Jump to ratings and reviews
Rate this book

Scala in Depth

Rate this book
Summary

Scala in Depth is a unique new book designed to help you integrate Scala effectively into your development process. By presenting the emerging best practices and designs from the Scala community, it guides you through dozens of powerful techniques example by example.

About the BookScala is a powerful JVM language that blends the functional and OO programming models. You'll have no trouble getting introductions to Scala in books or online, but it's hard to find great examples and insights from experienced practitioners. You'll find them in Scala in Depth.

There's little heavy-handed theory here—just dozens of crisp, practical techniques for coding in Scala. Written for readers who know Java, Scala, or another OO language.

Purchase of the print book comes with an offer of a free PDF, ePub, and Kindle eBook from Manning. Also available is all code from the book.

What's Inside
Concise, expressive, and readable code style How to integrate Scala into your existing Java projects Scala's 2.8.0 collections API How to use actors for concurrent programming Mastering the Scala type system Scala's OO features—type member inheritance, multiple inheritance, and composition Functional concepts and patterns—immutability, applicative functors, and monads
========================================​==========

Table of Contents
Scala—a blended language The core rules Modicum of style—coding conventions Utilizing object orientation Using implicits to write expressive code The type system Using implicits and types together Using the right collection Actors Integrating Scala with Java Patterns in functional programming

276 pages

First published May 1, 2012

24 people are currently reading
274 people want to read

About the author

Joshua Suereth

4 books3 followers

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
42 (21%)
4 stars
97 (50%)
3 stars
44 (22%)
2 stars
8 (4%)
1 star
3 (1%)
Displaying 1 - 15 of 15 reviews
Profile Image for Thomas.
Author 1 book57 followers
January 3, 2023
The first read of this was largely in its pre-release state. I'm currently on my seconding reading.

Overall I came away feeling strongly that this was the best book to read after you've had some exposure to Scala and want to go a bit deeper (ok, perhaps a LOT deeper, in some areas). Josh clearly knows his stuff and is enthusiastic to share it. He covers a broad-range of Scala's more complex features, but makes them approachable and understandable. I suspect this will be a book I'll be referencing time and time again.

There are some weaknesses in the book. A few areas I, in particular, I felt could have used a bit more clarity. But my biggest gripe is just the poor editing -- there are a lot of typos and in some cases these are in the code examples. This unfortunately can make it harder to understand what's being explained.
Profile Image for Michael Koltsov.
110 reviews69 followers
July 7, 2016
First things first. This book is 5 years old. FIVE YEARS! During this period of time Scala as a language has been evolving with a noticeable speed.

Is it still relevant? Yes, it is. Apart from a few chapters that’s dedicated to Actors and collections this book still contains a lot of useful information for an avid Scala-newbie.
Am I kidding? Not really. The explanation of type classes that’s inside of this book is the best that I’ve ever seen.

Even if you don’t see a reason to read the book from cover to cover I would recommend to skim through the “Type system” & “Using implicits” chapters. They’re highly comprehensive and will provide you with information that’ll definitely make your life as a Scala developer easier.

My score 4/5
Profile Image for Rod Hilton.
152 reviews3,116 followers
April 2, 2013
Scala in Depth is for Scala what Effective Java is for Java. It's a collection of best practices and tips for getting the most of out of your Scala code. I've been waiting to find a book like this since I started using Scala, and I was not disappointed.

What I was, however, was overwhelmed. Scala in Depth is not called Effective Scala, it's called Scala in Depth, because in addition to tips and suggestions for effective programming in the language, it dives deep, real deep, into the type system, implicits, and many other advanced features of Scala. We're talking about showing equivalent Java code that Scala is converted to, and in many cases even cracking open the class files to look at the actual bytecode. In fact, Suereth seems to almost forget about the "Effective X" style format around the halfway point and instead just explores the internals of Scala for a while, before suddenly remembering he's supposed to be doing "Tip #x" pullquotes every so often.

I'm not going to lie, I do not feel like I understood everything in this book. A number of sections simply overwhelmed my meager brain, and I found myself having a tough time slogging through a lot of material. I only finished it by adopting an attitude that I was tired of having it as "currently-reading" on my Goodreads and I wanted to get to other books, so I began skipping over sections when I found myself confused by them after two reads.

Don't get me wrong, I got a LOT out of the book, I learned a ton, and my Scala code is better for it, but I'd say that I really only absorbed 60-70% of the book, and that's taking into account that I read most sections twice. Josh Suereth is an excellent writer, and I feel that his examples and explanations were clear, I think the problem was simply that a lot of the stuff was over my head. Perhaps a third or fourth read-through would make things truly click for me.

One thing Josh does is that he always builds later material on earlier material. Normally I appreciate this, but like I said I got to a number of sections that I struggled to truly understand, so this style caused my confusion to compound by the end of the book. That 30-40% of stuff I didn't understand is not uniformly distributed through the book, it definitely is higher as the book goes on.

If you're new to Scala, do not read this book. Read Odersky's book or Scala for the Impatient. This is book #2, maybe even book #3 for Scala programmers. It is absolutely, unquestionably worth reading for a Scala programmer, the information it contains is invaluable, but I've been programming in Scala for quite a while and taken some pretty expensive Scala training courses, and I still found quite a bit of the more difficult to material to be intimidating. I think a Scala newbie would probably get about halfway through this book and abandon the language.
3 reviews2 followers
June 7, 2012
Good book, with a decent amount of depth (that you won't find in any other Scala book), slightly marred by the quantity of code typos/inaccuracies.
139 reviews16 followers
December 6, 2012
Tons of great content, but not organized incredibly well, not very well written, and shoddily edited. Not fun to read, but I knew more things about scala when I was done.
Profile Image for Andrzej.
5 reviews
May 12, 2018
The title is slightly misleading. There is not that much depth if you are an experienced user of Scala. It should be rather "Scala seriously" or for "Scala for a serious novice". It is worth reading as your second Scala book, right after your first steps in the language.
Profile Image for Oleg Prozorov.
16 reviews8 followers
December 25, 2017
The most important take away from this book for me is a set of advanced features that Scala has and Java doesn't.
Profile Image for Sebastian Gebski.
1,188 reviews1,341 followers
Read
March 15, 2015
No rating, just a textual review. Why's that? There are some parts of this book which I find not suitable for my level of Scala knowledge. It's about understanding the content, more about find it applicable & useful in work context - I think that my practical experience is to shallow to fully grasp, understand & apply some of the elaborated topics.

Anyway, back to the book itself.

Pros:
* Chapter about implicits - it's really great & informative, the best description I've found until now
* Chapter about integration Java & Scala - some details were really low level (& I don't think I have to bother with them that much), but it was a very interesting read

Cons:
* Type system chapter doesn't feel like that much "in depth" -> I think I've learned more from Type system description in Odersky's book (or was it Scala in Action?)
* Unfortunately, some of the content (Actors chapter!) is outdated already - book is based on Scala 2.8.x
* Chapter about pattern confused me a lot - the foundations are very shaky (author introduced some simplifications on purpose - just check functor / monad descriptions) & I wasn't sure about the actual purpose & what author wants to achieve

I don't regret the money spent on this book, but I can't recommend it with full confidence ;/
20 reviews1 follower
January 18, 2014
This is a fine book for an intermediate scala dev looking to gain some greater insight into how things work under the hood. Consequently its usefulness is likely going to only be present to the reader who is a professional working with the language on a daily basis or otherwise an enthusiast who is working with public code.

The book will always be in the back of my mind as it has language specification level summaries of topics like the implicit scope and resolution. This is useful to have around and to get under your belt but only if you're working on code that needs that depth of understanding to work correctly.

A fine read if you're the person that the book targets. Otherwise it won't be fun and you won't get anything useful out of it. I'll keep it at my desk for the chapter on implicits and maybe an occasional pass through the collections section as it's a good review of runtime characteristics and how things are implemented under the hood.
Profile Image for Richard.
Author 4 books13 followers
June 30, 2013
Worth it for the explanation of implicit resolution alone!
Profile Image for Jerzy.
3 reviews
July 29, 2013
Very good in-depth view on Scala language, practical and entertaining. I'd love to see version updated to Scala 2.10.
Profile Image for Arun.
211 reviews67 followers
August 18, 2016
Intriguing. Skipped last chapter...Note to self: revisit again!
Displaying 1 - 15 of 15 reviews

Can't find what you're looking for?

Get help and learn more about the design.