Scala Programming

The Scala programming language is built on top of the Java Virtual Machine(often shortened as JVM) as a general-purpose language combining two of the most popular programming paradigms - Object-Oriented Programming(often shortened as OOP) and Functional Programming(often shortened as FP).

The name "Scala" comes from the word "scalable", implying the scalabilty of the language. As you will see, the language itself is evolving along with your program, allowing you to easily create an internal Domain-Specific Language(often shortened as DSL) to simplify your code.

The Book
This book is targeted at new programmers, introducing the basics of programming. Nevertheless, it can be beneficial to programmers who know another programming language but are new to Scala, too. Of course, being skilled in a FP language or OOP language is an added bonus (which will probably let you skim through some chapters or even skip them).

Structure and Formatting
The book is structured as a project done using Scala, introducing Scala features, programming terms, and general ideas in software development along the way.

New terms will appear in bold the first time they are introduced. Tips, exercises and warnings will come here and there throughout the book, don't miss them!