This project is intended to give you, dear reader, a hands-on introduction to the Scala programming language. We'll cover some basic functional programming concepts and some need-to-know language features, all over the span of about an hour. If after that you still want more then you'll find a list of additional resources way down at the bottom of this page.
You're going to need to do a few things prior to the workshop.
If you're currently programming in Java you'll already have this. Otherwise grab it and install it
You're going to need to install SBT. This is the Scala Build Tool and will take care of building your project, dependency management etc. In fact, think of it to Scala as Maven is to Java. (For die-hard gradle users -- sorry for using the "M" word).
I recommend IntelliJ IDEA and will be using this IDE during the workshop. If IntelliJ isn't your cup of tea then Eclipse would do the trick. If you prefer the text editor approach then you can get some nice Scala syntax highlighting in Atom.
Once you have SBT installed and your IDE configured you're going to want to build the project and download all those lovely dependencies. Open up your terminal/command prompt and navigate to the root of the project. Run this:
sbt clean compile run
This will do a few things:
- Download the correct version of SBT for the project as specified in project/build.properties -- clever right?
- Compile the necessary Scala bits for the version specified in build.sbt
- Download the necessary dependencies for this project
- Start up a server on port 9000
This will take a few minutes! But it's all worth it, trust me! Once it's done try hitting http://localhost:9000 in a browser. For the extra curios take a look at A_Scala101Test.scala. This and the other stuff will be covered in the workshop.
Looking for more? Try these:
- The official Scala site
- [The Morning Paper - Why Functional Programming Matters] (https://blog.acolyer.org/2016/09/14/why-functional-programming-matters/)
- Daniel Westheide's "The Neophyte's Guide to Scala"
- [Martin Odersky's Scala Coursera course] (https://www.coursera.org/learn/progfun1)
- [Lightbend's eBook collection] (http://www.lightbend.com/resources/e-books)