Scala 3 — Book

Introduction

Language

Welcome to the Scala 3 Book. The goal of this book is to provide an informal introduction to the Scala language. It touches on all Scala topics, in a relatively light manner. If at any time while you’re reading this book and want more information on a specific feature, you’ll find links to our Reference documentation, which covers many new features of the Scala language in more detail.

  If you are interested in the archived Scala 2 edition of the book, you can access it here. We are currently in the process of merging the two books and you can help us.

Over the course of this book, we hope to demonstrate that Scala is a beautiful, expressive programming language, with a clean, modern syntax, which supports functional programming (FP) and object-oriented programming (OOP), and that provides a safe static type system. Scala’s syntax, grammar, and features have been re-thought, debated in an open process, and updated in 2020 to be clearer and easier to understand than ever before.

The book begins with a whirlwind tour of many of Scala’s features in the “A Taste of Scala” section. After that tour, the sections that follow it provide more details on those language features.

A bit of background

Scala was created by Martin Odersky, who studied under Niklaus Wirth, who created Pascal and several other languages. Mr. Odersky is one of the co-designers of Generic Java, and is also known as the “father” of the javac compiler.

Contributors to this page: