In this tutorial, you are going to learn the Scala Programming language. Scala is a modern programming language.

Scala is similar to Java language but it reduces n lines of codes to fewer lines of codes and more. The Scala is written from the Criticism of Java.

Use the below link to know the Criticism of Java

https://en.wikipedia.org/wiki/Criticism_of_Java

The name Scala comes from the word scalable language and used to power the busiest websites in the world.

Some popular websites using the Scala programming language

1. Twitter
2. Netflix
3. Tumblr
4. LinkedIn
5. Foursquare

Scala supports object-oriented programming, imperative and functional programming. It is a dynamically typed language.It has automatic memory management.It has the rich library.

This tutorial is written mainly for Java developers, who want to learn (or migrate to) Scala. The whole tutorial was written with the comparison of Java code to Scala(How to transform Java code to Scala). And the available library.

This series will give you the Scala language experience in short time. If you know Java well, even you can finish this tutorial within some hours. All the codes are shown in this tutorial tested with Java 1.8 and Scala 3.4.3(these are the versions when writing this)

The official website of is

http://www.scala-lang.org/

You can directly use Java library in Scala. Say, for example, if you want to use the ArrayList, just import the ArrayList as usual with the Java import statement and use that. The Scala programming language runs on JVM. So you need to install Java before installing the Scala.

The Apache Spark(Big Data In Memory Analytical tool) uses the Scala as one of its API. And most of the features are implemented and tested with Scala when compared to Java.

In a NutShell
1. It is Scalable Language
2. Supports object-oriented programming and functional programming
3. Runs on JVM
4. Infers the data type dynamically. No need to mention the data type
5. Supports concurrency and distribution
6. Functions are first -class objects