Book Review: Scala in Depth

14 06 2012

Maybe you don’t like Scala, but you couldn’t argue that Scala isn’t a hot topic on the development community.

Manning has published their first exclusive Scala book (Other Manning’s books touch Scala topics), Scala in Depth. Other books in Scala are been prepared by Manning

The author, Joshua D. Suereth works in TypeSafe the company behind Scala. As described in the title, this book touch some scala topics in the deepest way.

So, if you’re looking a beginner Scala book, I suggest you Programing in Scala second edition [Odersky, Spoon & Venners 2010], ’cause this book assumes that you know the language basics, and don’t come with a gentle introduction to the Scala world.

General

Seems that Suereth is a very seasoned Java developer. Many examples in the first chapters explain the differences between both languages, even using Spring framework; and the chapter 10 (Integrating Scala with Java) have a lot of useful information (and hard to find in other resources). The approach to the book is so deep, that many examples include bytecode analysis (indeed, very geek). Also many chapters covers the type system, making this book a perfect companion to the developers coming from an OOP background

Suereth makes a great work teaching those hard concepts, and the book never turns boring.

The worst part about this book is the code formatting. Many examples in the book have erros and Suereth favors a REPL approach that, IMHO, is very hard to read in a book. Also the source code that comes with the book don’t come with any instruction and only two chapters have a build.sbt file. But those problems are minor compared with all the useful information that the book have.

Content

Chapters 1 and 2 are an “Introduction” to Scala, but don’t expect to learn languages basics here (Chapter 2 have many useful tricks to work with Option[T]).

Chapter 3 covers coding conventions, very useful (Many corner cases covered here are a little spooky)

Chapter 4 to 7 covers almost every topic on Scala’s OOP flavor. (Including many cases that aren’t covered in other books)

Chapter 8 covers the Scala collections library, nothing too fancy, but is very well explained

Chapter 9 covers Actors. (Actors are a very hard and broad topic to only on chapter.)

Chapter 10 is about Integrating Scala with Java and cover many cases that could arise in a mixed project.

Chapter 11 cover many topics in functional programing like Category theory, Monads and Functors, a good introduction but I think that I’ll need twenty more books to grasp and use in a proper way this concepts.

Conclusion

This is an excellent book for those that have a previous experience with Scala. The OOP chapters are superior to other Scala books, the functional chapter is good introduction to this complex topic. The code could be better, but don’t affect the overall experience. 5 stars

Advertisements

Actions

Information

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s




%d bloggers like this: