This would be the first in the series of interesting tutorial on Scala Programming. In this lesson, you’ll learn about the features of Scala and why you need to learn Scala.
The following is covered:
1. Overview of Scala Programming Language
The word Scala is a short form of ‘Scalable Language’. It is a general-purpose language. This means that it combines the features of programming paradigms. For example, it’s both a functional language and an object-oriented language. It is also statically typed, that is, data types of variables are checked at compile time. This is in contrast to dynamically-typed languages where type checking is done at run-time.
Scala was designed to address some of the drawbacks of Java. Moreover, Scala is compiled to run on JVM (Java Virtual Machine).
2. Features of Scala Programming Language
Some of the key features of Scala are outlined below:
Functional Programming Language
In functional programming language, functions are treated as ‘first-class citizens’, meaning that they are treated just like other entities(variables). Therefore, they can be bound to identifiers, passed as arguments to other functions or returned by by other function as return value.
Object-Oriented
As an object-oriented programming language, classes can be defined. Also values of variables can be considered objects as well. Additionally, Scala support class inheritance and other OOP concepts like polymorphism and abstraction.
Static-Typing and Type Inference
This is a very important feature of Scala as if limits possible runtime error. Additionally, Scala supports type inference as well. This means that if the type of variable, function return type an other data types are omitted, the Scala compiler can infer it from its value.
Runs of Java Runtime
Just like Java, Scala programs are compiled into Java Byte Code(JBC) which can then run on Java Virtual Machine(JVM). Scala code can be executed using the ‘scala’ command to produce the byte code.
3. Why Learn Scala
If you are a programmer of wants to start a journey into programming, then go for Scala! Here are my reasons below:
Improvement Over Java – As mentioned earlier, Scala address some of deficiencies of Java
General Purpose – You can use Scale in a wide range of application use-cases
Combine With Java – Scala is interoperable with Java. So you can have Scala and Java code in one application
Support Web – You can build web applications using Scala and discussed in the next section.
Growing Community – Currently you can find find lots of resources on Scala programming. Moreover, the community of Scala developers is growing
Relatively to Learn Functional Language – Compared to other functional programming languages like Heskell, Elixir, Elm etc, Scala is the way to go
4. Scala for Web Developement
Using Scala, you can build enterprise application for the web. Currently, several web applications are developed using Scala. To support web application development, there are a number of frameworks out there you can use. This includes:
Finally, I would recommend you learn Scala. And I would make a simple video tutorial on Scala programming and this tutorial would be available on my YouTube Channel.