This guide assumes no prior knowledge of Scala and will get you set up to the point where you have Scala installed on your computer and can hack on a project.
We recommend reading Programming in Scala to learn the language.
If you come from an object oriented background, you will hear people talk about Functional Programming (FP), monads and typeclasses, and it will be confusing. Some gentle introductions are All Roads Lead to Lambda, Understanding Free Monads and A Beginner-Friendly Tour.
Scala is sadly missing a comprehensive text on the topic of FP. The standard text is Functional Programming in Scala, aka “the red book”, but it is very much outdated. To pick up where the book leaves off, read about Typelevel’s typeclasses / datatypes and functional streams.
Shapeless Guide is the best place to learn about advanced generic programming concepts such as making the compiler generate typeclasses for your
case class objects.
sbt) will install all the build tooling you need, including Scala.
sudo pacman -S sbt(ArchLinux)
If a volunteer would like to pad out the following, that’d be great. Until then, try Daniel Spiewak’s “Getting Started in Scala” guide
sbt new eed3si9n/hello.g8