Book Image

Professional Scala

By : Mads Hartmann, Ruslan Shevchenko
Book Image

Professional Scala

By: Mads Hartmann, Ruslan Shevchenko

Overview of this book

This book teaches you how to build and contribute to Scala programs, recognizing common patterns and techniques used with the language. You’ll learn how to write concise, functional code with Scala. After an introduction to core concepts, syntax, and writing example applications with scalac, you’ll learn about the Scala Collections API and how the language handles type safety via static types out-of-the-box. You’ll then learn about advanced functional programming patterns, and how you can write your own Domain Specific Languages (DSLs). By the end of the book, you’ll be equipped with the skills you need to successfully build smart, efficient applications in Scala that can be compiled to the JVM.
Table of Contents (12 chapters)

Beyond This Book

This section will help you get a better overview of the Scala ecosystem and help guide your self-study after the book has ended, so you can continue to improve your Scala skills.

Various Scala Libraries

The purpose of this topic is to briefly introduce a couple of different Scala libraries for solving problems in different domains so that you can study the ones that are interesting to you after the book.


The first library we'll look at is one of the most popular libraries in the Scala ecosystem. It has been around for a long time—the first public release of the library was in 2010—and it's used in production by a large number of big organizations.

Its main abstractions are Actor and Streams:

  • Actors are a way to model concurrency without resorting to locks. You might have heard about them before if you've read about the programming language Erlang. An Actor is an entity that can receive and react to messages, spawn new actors, and send messages to other actors. Thus...