Let's go deep into Scala.
Scala is a modern multi-paradigm programming language designed to express common programming patterns in a concise, elegant, and type-safe way.
Scala smoothly integrates the features of object-oriented and functional languages
Scala is statically typed. When we deploy jobs which will run for hours in production, we do not want to discover mid way that the code has unexpected runtime errors. With Scala, you can be sure that your code will not give you unexpected errors while running in production.
Since Scala is statically typed we get performance and speed over dynamic languages.
Unlike Java, in Scala, we do not have to write quite as much code to perform simple tasks and its syntax is very similar to other data-centric languages.
Scala is a stable language used in enterprises, financial sectors, retail, gaming for many years
In 1990, Martin Odersky, creator of Scala, made Java better by introducing generics in javac - the Java Compiler
In 2001, he decided to create even better Java and in 2003, there was the first experimental release of Scala. To prove the correctness of Scala, scala2.0 was compiled in Scala itself in 2005.
In 2011, corporate stewardship was brought to ensure that the language was enterprise ready at all times.
Scala compiler compiles scala code into Java bytecode. The resulting bytecode is executed by a JVM - the Java virtual machine.
Since Scala and Java have a common runtime, Java libraries may be used directly in Scala code and vice versa.