Remix.run Logo
ForHackernews 2 hours ago

Scala is a great language. It's a little bit disappointing that Kotlin is the JVM language that's gained so much traction instead.

blandflakes 2 hours ago | parent | next [-]

They really obliterated their momentum with how they went about Scala 3, unfortunately.

palata a minute ago | parent | next [-]

I remember being a big fan of Scala, and before Scala 3 it was looking to me that Kotlin was becoming a big competitor. Could that be, or do I have my timeline wrong?

atbpaca 22 minutes ago | parent | prev | next [-]

I don't think it is a problem with Scala 3 itself. Scala 3 brought a lot of improvements, one of them is using semantic versioning. People used to complain a log about binary compatibility between versions in 2.x. Now it's here. I think that the slow adoption of Scala 3 is mainly due to one of its most successful projects: Apache Spark. To this day, Spark only supports Scala 2.13 although Scala 3 has been around for years now. This is both disappointing and frustrating because a lot of people were introduced to Scala thanks to Apache Spark.

hnlmorg 14 minutes ago | parent [-]

I learned scala due to load testing with Gatling.

I’ve always hated Java but Scala was super fun.

forgetfulness 5 minutes ago | parent | prev | next [-]

What really obliterated Scala’s momentum was PySpark overtaking Scala Spark coming from Python’s foothold in Data Science, columnar data warehouses carving out a big chunk of the batch processing pie as well, and then the Akka licensing change.

The Enterprise ecosystem quickly withered away, and now only type level programming diehards remain.

spockz 2 hours ago | parent | prev [-]

Why is that? I think they did a lot of things right. Offer automatic conversions, backwards and forwards compatibility from a sufficiently recent 12.x version.

I think mostly Kotlin being simpler and Java gaining features ate the lunch. Also, software like Akka and Spark becoming less prevalent hurt because they were big reasons for devs to learn the language. Not to mention the community drama.

The only bad thing was that it took quite long for Scala3 to become available leading to a lot of stagnation.

dboreham an hour ago | parent | prev | next [-]

I've used both fairly extensively. Scala is just "too much". Kotlin is perhaps not enough, but that's better than too much.

29athrowaway 2 hours ago | parent | prev [-]

Except when you chain many collection operations... then it breaks horribly.

tbct 2 hours ago | parent [-]

Can you elaborate on what you're referring to? I can see performance becoming a problem if you repeatedly chain non-optimisable (in bytecode) as excluding the in place operations I believe all ops re-allocate the collection.