Essential Scala and Play Books Available for Early Access

The first Underscore books, Essential Scala and Essential Play, are available for early access from our Training page! Here’s a little about each book, what it contains, and what you get as an early access customer.

Essential Scala

Essential Scala is our opinionated how-to-program-Scala book, derived from our training course of the same name. It is primarily aimed at developers who are new to Scala, but we expect experienced developers to benefit from it as well.

The thesis of the book is that simply teaching syntax and libraries is not enough. To help people become effective developers, a book needs to teach a programming mindset. In the case of Scala this mindset is functional programming with a particular Scala-in-industry flavour. Here’s the back-of-the-book text:

Essential Scala is two books in one: it is an introduction to the Scala programming language, and a manual describing how to program it. This focused introduction is aimed at developers with one to two years’ experience in another programming language, and explains the concepts and techniques you need to become a proficient Scala developer.

Topics covered:

  • Expressions and syntax
  • Classes, objects, methods, and functions
  • Design patterns – traits, case classes, and pattern matching
  • Functional programming concepts – functors and monads
  • Creating custom DSLs using implicits
  • Modular library design using type classes

Based on the two day Underscore training course of the same name, Essential Scala is unique in its focus on the programming patterns required to build commercial software in a modern functional programming language. No matter what kind of application you’re building, this book will help you build it.

The six “topics covered” are the core concepts we believe every Scala developer needs for pain-free commercial software development. You can find out more in Noel’s talk from Scala Exchange 2014.

Essential Play

Essential Play is a short, focused introduction to building web sites and services in Play. Coming in at roughly 100 pages, the aim of the book is to provide insight into the motivation and structure of the most important APIs, without getting bogged down in extraneous detail. Here’s the same back-of-the-book text:

Essential Play is a fast paced, no-nonsense introduction to the Play Web Framework for Scala. This concise introduction explains the concepts you need to know, and shows you how to use them.

This is the text book used on the course of the same name, which gets development teams up and productive with the latest Play 2.x series. It is aimed at the beginner-to-intermediate Scala developers, and assumes no prior knowledge of Play.

Topics covered:

  • Routing, controllers, and actions
  • Manipulating requests and response
  • Generating HTML
  • Parsing and validating forms
  • Reading and writing JSON
  • Asynchronous requesting handling
  • Calling external web services

Whether you’re building a REST API, or a reactive web app, this book will lead you through the steps to build your application.

Early Access Realities and Perks

Before you run off to click buy, you should be aware that both of these books are early access. This means you can get started now, but there will be updates. For Essential Scala, the final chapters will be edited; for Essential Play, there will be additional material on SBT, improved exercises, and summary material.

The good news is that as an early access customer you get free updates to the books for their complete lifetime. We’re committed to keeping our training material up-to-date, and that means giving you access to all the latest information for free. There’s really no disadvantage to jumping in early but we want to be absolutely clear about what you’re going to receive.


Like what you're reading?

Join our newsletter


Comments

We encourage discussion of our blog posts on our Gitter channel. Please review our Community Guidelines before posting there. We encourage discussion in good faith, but do not allow combative, exclusionary, or harassing behaviour. If you have any questions, contact us!