Let’s talk about very promising article about future of the scala programming language The Death of Hype: What’s Next for Scala. It’s really nice to read such articles where passionate developers push positive notions about beloved technologies and their imminent bright future. But believe me as a true scala hater, this would never happen.

Let me share with you some facts about scala

Scala was released in 2004 it is 16 years old and still there are not so many scala-based products.

Scala denying Java ecosystem. Sure after 16 years it was possible to implement some kind of interoperability with Java. But nevertheless tons of scala libraries are available only because scala is so cool that using Java library from scala is unacceptable. But actually scala developers was dumb enough to thought that Java incompatible language is ok and they just can rewrite everything from scratch. Later when it became obvious that by some unknown reason Java devs aren’t happy with scala only ecosystem, they were forced to add Java interoperability.

Do you know that scala still is not binary compatible between releases? Which means that you are not able to use library compiled for 2.8 in scala 2.9 application. Sure they manage to fix it somehow after in v2.10 about 10 years after project was launched.

Scala was not meant to develop in Java style but it’s syntax allows you to do so. If you are programming on scala in Java way do not flatter yourself that you are scala developer - you are not. There are many ways to do same thing in scala in functional and non functional way. And this would lead to such awkward situation when Java way “scala developer” is not capable to read scala functional code. Also you could extend you scala in many ways and invent your own language subset like scalaz which is even weirder than scala itself.

Yes scala is very popular in some universities and even they teach students to do things in scala. But let’s be frankly that in most cases academic interest to programming does always not correlate with real life production experience. And BTW mathematicians are weird guys from programmers perspective and they love weird languages.

Last but not least. How many real useful scala projects that could be easily used outside of scala infrastructure? Well not so much. Apache Spark is one of the biggest once. Only because of this project scala will not die but instead it would be in zombie state for a long time. Plus Spark popular not because of scala, but because they was smart enough to add Java and Python API. Java API is extremely ugly but Python API is cool. Thus many datasatanists are using Spark via Python, yes Python helps Spark to be alive because scala is cool 😁.

Some words about article

It doesn’t looks like good decision to measure community growth using blog popularity where article was published.

Last peak of “inflated expectations” even from scala lover is related to 2015 - “first tagged release of the Cats functional programming library”

A Solid Platform for Production Usage”. No it is not! Not so long time ago latest scala was not able to work on JDK 11 and Apache Spark is still could not work properly with java 11.

Despite the apparent downturn in public interest, usage of Scala continues to increase”. Consider that demand for software developers constantly growing for last several years and this should affect overall interest to all related technologies. If you are falling while all market are growing than it is definitely a failure.

Scala native would probably only for those several dozens of developer who want to write everything in scala.

Apache Spark is only one true scala project which is alive only because of good Python API.

Scala acceptance stages

I bet that many developers passed through this stages:

  1. Scala is good, much better than current Java 5
  2. We should rewrite everything in scala
  3. Probably we should use only some subset of scala for production
  4. Java 8 seems not so bad at all

What is dead may never die

As a matter of fact, scala would not die soon. It will have long and suffering life. Not the same as COBOL of course but who knows what will be in future.

It is extremely expensive to rewrite current working scala codebase to another language. And even if you have popular scala based product no one would really care about it’s internals if you have proper Java or Python API.