Saturday, May 21, 2016

Getting Started with Scala

So you want to learn Scala. I will teach Scala to you from start to finish, but I do assume you at least understand some basics, like what is a variable; what is a function; and what does compile mean.

You don't need to already know any syntax or even definitions of terms like higher-order functions. I don't teach everything about programming, but if you feel comfortable with some very basic programming concepts, I'll take it from there.

What is Scala?


You can write any type of application with Scala. If you want to write a traditional desktop app, you can write it in Scala. If you want to write scripts and command line tools, you can do it in Scala. If you want to write web services, you can do it in Scala. If you want to write JavaScript code for your website, you can do it in Scala. Scala is highly versatile and works for nearly any solution you need an application written for.

Scala is a programming language that runs on the Java Virtual Machine (JVM). Scala has been around for almost as long at Java. Scala was originally written as an better alternative to Java. Scala can also run on other VM's, but the JVM seems to be the most common platform for Scala. Because Scala runs on the JVM, it was designed to interact with Java and existing Java projects with minimal fuss. Scala's Java interop is excellent and easy.

Scala itself is a hybrid between Object-Oriented Programming (OOP) and Functional Programming (FP). Don't worry if you don't fully understand what Object-Oriented Programming and Functional Programming are. I will delve more into them in future tutorials. It's very common for experienced programmers to not fully understand Functional Programming, so I expect to produce a lot of tutorials on that end of things.