I was seduced by the Scala language several years ago. This hands-on tutorial will show you why. We’ll learn how its powerful Functional Programming features improve productivity, quality, concurrency, and eliminate many of the common examples of over-engineering seen in typical “enterprise” applications today. We’ll see how Scala fixes many issues with Java’s object model and type system. Scala is unusually good at supporting Domain Specific Languages (DSLs) and its higher-level concurrency features, such as the Akka Actor system, make distributed systems far easier to implement reliably.
This tutorial will appeal to developers interested in functional programming and new languages on the JVM, especially for building distributed systems. I will assume that you already know other programming languages and that you are comfortable writing code for this hands-on tutorial. Bring your laptop with Scala V2.10 installed and your favourite text editor or IDE.
Go to the GitHub page for this tutorial and follow the instructions shown in the README, which tells you how to install the required tools: Git, Java, Scala, and the Scala build tool, sbt. (Even if you already have them installed, make sure you have the recent versions described in the README.) Please complete these steps in advance so we don't have to spend class time doing them.
Dean Wampler specializes in “Big Data” application development, using Hadoop and alternative technologies. Dean is a contributer to several open-source projects and the founder of the Chicago-Area Scala Enthusiasts. He is the author of “Functional Programming for Java Developers”, the co-author of “Programming Scala”, and the co-author of “Programming Hive”, all from O’Reilly. He pontificates on twitter, @deanwampler, and at polyglotprogramming.com.