Copyright 2014 Underscore Consulting LLP. Written by Noel Welsh and Dave Gurnell.
Licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
These slides form part of Essential Essential Scala. Essential Essential Scala is an introductory workshop on the Scala programming language. The workshop is centered around a few of the core patterns of idiomatic Scala code. By the end of the workshop you'll be able to write a simple programming language interpreter in Scala.
Scala is a relatively new language that runs on the JVM, the same platform as Java. Scala benefits from the performance and extensive libraries available on the JVM, but brings a thoroughly modern approach to programming based in the fusion of object-oriented and functional styles. It is becoming increasingly popular, with Twitter, the Guardian, and the BBC being just some of many users of Scala.
Essential Essential Scala is a simplified version of our Essential Scala course, which usually runs over two days and can be booked via underscore.io. The course material is also available as a book for self study.
This course is aimed as people with a little programming experience, but no prior experience with Scala or another functional programming language. The more experience you have, the faster you will go through the material, but so longer as you're comfortable in a text editor and have used some other language before you'll be fine.
A text editor, like SublimeText, TextMate, Emacs, or Vim, is all you need to install. We recommend not installing an IDE like Eclipse or IntelliJ unless you already have prior experience with them.
You also need to have Java installed on your system if you don't have it already.
In additional to installing a text editor and Java, as described above, you should download the course material.
Ok, this isn't really a FAQ, but we make our money from training so we have to mention this. Our commercial offerings can all be found on underscore.io. If you know someone who would benefit from what we offer, do let them know! This way we can continue to provide free services like this workshop.
We routinely run this course for free at community events -- get in touch to ask us about speaking, or book a commercial course for your team.
The source code for the exercises, including complete solutions, is available in a separate repository.
If you are about to attend this workshop, don't look ahead at the exercises or solutions. You'll spoil the fun and could cheat yourself out of valuable learning!