Learning Scala made easy(ier)!

In an effort to make it faster and easier to get started with Scala, I’ve rewritten the Getting Started tutorial and some of the Tour of Scala. I’ve gotten a lot of great feedback and improvements on accuracy and clarity from the Scala Center team as well as contributors including @Ichoran, @tpolecat, and @SethTisue. My goals have been:

  1. Get people up and running as quickly as possible
  • Be concise without omitting key information
  • Provide enough information so readers can stay on the page and not have to look up a bunch of terminology
  • Cater to readers coming from various popular programming languages and not just Java
  • Don’t use language features in examples that haven’t been covered yet
  • Try to use examples that might be used in production but not at the expense of clarity
  • Read the comments to figure out where people are confused
  • Link to other pages when it could be helpful

For goal #5, I’ve added a “prerequisite-knowledge” metadata field to some guides in Tour of Scala. It is a mix of tags and tutorial-names that are required to understand the current document. After manually choosing an order for the tour pages, we can run a little script that will tell us if a guide has prerequisite knowledge that hasn’t been covered yet.

The getting started tutorial series will be available both on the documentation page and the download page because we’re trying to discourage people from downloading the binaries directly.

I’d also like to move Tour of Scala higher up in the website tree and not call it a Tutorial because it isn’t interactive.

The topics of the Tour of Scala I have revised so far include:

  • classes
  • generic classes
  • higher-order functions
  • operators
  • singleton objects
  • traits
  • unified types

Please feel free to leave more feedback. You can find the current list of PRs here:


https://github.com/scalacenter/scala-lang/pulls
4 Likes

This is great! Can’t wait to go throw and add my two cents!