Install Scala on your computer and start writing some Scala code!
Access detailed documentation on important language features.
Digest bite-size pieces of the essentials.
Dive straight into the API.
Get an in-depth overview of the language.
Understand Scala's vocabulary.
There are a few interactive resources for trying out Scala, to get a look and feel of the language:
- Functional Programming Principles in Scala, free on Coursera. This is a course about functional programming given by Martin Odersky himself. You can access the course material and exercises by signing up for the course.
- Principles of Reactive Programming, free on Coursera. This is a course about concurrency and event-based asynchronous programming in Scala. You can access the course material and exercises by signing up for the course.
- Try Scala In Your Browser!: There are a handful of websites where you can interactively run Scala code in your browser! Have a look at scala-js-fiddle, Scala Kata, and Scastie for more.
- Independent Courseware, online self-study or instructor-led Scala and Play courses for a fee.
There are more and more books being published about Scala. Here, you can find some of the titles. We only list books here which give an introduction to the Scala Language. Books which require knowledge of Scala, in particular books on frameworks like Lift, Play! or Akka are not listed here.
If you are interested in finding out about the hottest, most pressing issues of tomorrow in the Scala world, have a look at the Scala Improvement Process (SIP) page.
The documentation below may be a bit outdated, but provides insights into the (historical) design principles of the language :
- Brief Scala Tutorial: a 20 page introduction to scala and some of the basic concepts and a good place to start. You will find more code examples here.
- Scala By Example: takes you through the Scala features with many examples. It does assume that you are already familiar with the basic Scala syntax and a basic understanding of functional programming. It is an excellent way to expand your knowledge and skill.
- Scala Overview: this is a paper summarizing the features of the Scala Language in a formal and concise way. An excellent reference for language researchers or advanced programmers.
- Java to Scala with the Help of Experts: a collection of some of the almost endless supply of tips available for Java programmers new to Scala. There are also mini-blog series designed to take you through many of the important features of the Scala language in a friendly way.