It turns out that things work differently in practice. Scala is yet another language that you will need to support unless you can do everything in Scala, which is very unlikely. At the very least you will combine Scala and Java, so why not just limit yourself to Java? That seems to be the main reason LinkedIn decided to phase out their use of Scala in their stack.

But, it actually gets worse, Scala, because of its design and flexibility, is a pain to maintain in itself. It is like C++, but worse. For example, you can get expert Scala programmers going nuts with fully functional coding style to pack a crazy amount of information in a line of code that a newbie will not understand. So, if you want to maintain a Scala code base, you need to be pretty strict about “how” to use it. And, then, you need to go out and hire developers that can and are willing to code Scala in that particular way. Good luck with that. Even Twitter, the Scala powerhouse, said that they would not choose Scala as their programming language if they had to do it “today” (or in 2015 to be more concrete). Yammer also moved away from Scala into Java for similar reasons.

So, it turns out that Scala is not only not taking off, but it is in reality probably on its way down, only maintained by the popularity of Spark. Actually, Scala is really good for data, so the choice makes sense.