Reasons why Scala language climbs the ranks of popularity

Scala is considered to be a complex, but very efficient and demanded language. And in today’s article, I would like to show you some facts about Scala language popularity, benefits of using it and list down some useful Scala blogs, where you can regularly find useful information with theory and practical examples.

Scala Language

Well, first of all, let’s make it clear, what is Scala? Scala is a general purpose programming language. It has been designed to be concise and many people say that it was introduced to fulfill the shortcomings of Java. Its source code is intended to be compiled to Java bytecode to allow the resultant code to run on a Java VM. Also, as its name suggests, Scala is an acronym of scalable and language, it is designed to grow with the demand. Also, it is a type-safe JVM language that incorporates both object-oriented and functional programming into an extremely concise, logical, and powerful language.

In software development world Scala is considered to be a high-end language and has the reputation of being a complex language to learn for a junior developer. Very few developers in the world actually know how to work with it and very few companies use it. Its adoption is growing and later we will see some facts about it, but just to tell you some names, big companies like LinkedIn, Twitter, and The Guardian use it in their codebases. Those who know Scala, enjoy a great career as open positions for Scala developers are definitely popping up more and more.

Reasons why Scala language climbs the ranks of popularity

At the heart of today’s technologies are programming languages. And today, developers are important to progress as never before. According to Jaxenter, Scala has jumped a whopping 11 positions on the chart since May 2017 to land at #20. According to Indeed, Scala is on the 12th place in terms of the most demanded languages.

Why? Scala was created specifically with the goal of being a better language, shedding those aspects of Java which it considered restrictive, overly tedious, or frustrating for the developer. As a result, Scala programming is a bit more difficult, but the result is a much cleaner and well-organized language that is ultimately easier to use and increases productivity.

Also, in Scala, the compiler is incredibly smart, so this avoids the developer needing to specify explicitly those things that the compiler can infer. And Scala is well suited for certain problem domains. And it is very flexible in defining abstractions.

Scala works absolutely great when there’s a need to navigate a complex domain. Distributed and concurrent programming can be examples just to name few. Moreover, parallelism is very tricky to get right, and Scala offers a number of libraries which make it easier, by building abstractions.

Another huge benefit is immutability. Scala makes it easy to write code using immutable data. This includes constructs such as: first-class vals, case classes, higher order functions etc. But that’s also because how the standard library is designed and written; all of the “default” data structures are immutable. Immutability makes a number of things simpler.

What is more, Scala’s support for type constructors, higher-kinded types and typeclasses, through implicits, make it much easier to work with wrapper/container-like types, such as Promises, Futures or Tasks.

And I mentioned just some of them, there are much more! If you are interested in knowing more about Scala, I highly recommend you to follow these Scala Blogs:

Scala IDE provides advanced editing and debugging support for the development of pure Scala and mixed Scala-Java applications. Follow this blog for news from the free and open source Scala IDE for Eclipse.

This blog covers software architecture and software development topics. One of the most read articles are about Scala, where software developers share their experience and talk about Scala Generics series.

Here, you will find how to use libraries in your code, find examples, collect learning resources. This blog is for you if you want to explore implementation details, find Scala case studies and other related content.

This blog is “The Neophyte’s Guide to Scala”, targeted at aspiring Scala enthusiasts who have already made their first steps with the language and are looking for more detailed explanations. This blog serves as a hub for everything related to this series.

Alejandro Lujan is having fun with Big Data at Shopify and leads ScalaQuest, the game to learn Scala. He writes children’s book about Scala and also organizes Scala Up North, the first and only Scala conference in Canada. He loves teaching and spent a few years working with Lightbend on training others on how to use Scala, Akka and Play to write elegant, solid and maintainable code.