logoalt Hacker News

sunshine-otoday at 2:41 PM8 repliesview on HN

I used to be very fond of Scala 10-15 years ago.

I also had to move on for professional reasons and haven't kept up for a long time.

I am very surprised that there is not much traction anymore for Scala. I see about 10x more Clojure news or projects on Github so it is not just about the JVM...

Could someone point to why?


Replies

bearforceninetoday at 3:35 PM

Our backend is primarily in Scala and has been for over a decade. My take is that Scala 2 -> 3 was a massive hit to the language's momentum. It came at a time when the language's popularity was waning and it had all the same challenges that other major language version changes tend to have. Migrating's been quite challenging. Tooling, which was already a challenge for the language, got worse because it was split between Scala 2 and 3.

The language was deliberate about providing backwards and forwards compatibility between 2 and 3, but they didn't have a good story for macros. Yes, macros were experimental, but the ecosystem relied on them very heavily. This meant that your 3rd party dependencies likely hadn't migrated to Scala 3. If they had, things got complicated because you had to deal with two macro systems.

After many years the tooling is finally catching up and many 3rd party dependencies are available in Scala 3. That said, it's taken years and years. I think during those years many companies migrated to other languages or put a moratorium on new projects in Scala.

show 1 reply
hocuspocustoday at 3:05 PM

I wonder how you see 10x more Clojure news.

Scala's usage is stagnant or declining, but Clojure has always been tiny in comparison. It doesn't even register in most rankings (TIOBE, StackOverflow) which is also confirmed by hard numbers e.g. GitHub statistics.

show 1 reply
wk_endtoday at 2:51 PM

My impression is that, rightly or wrongly, it developed a bit of a negative reputation in various ways - too esoteric, slow builds, toxic community, etc. - so people stayed away from it.

And meanwhile, Java the language improved and Kotlin came along as (arguably) the better better Java, so there became less of a need for it.

show 3 replies
wavemodetoday at 3:23 PM

Kotlin seems to have eaten Scala's lunch, for many organizations in the "JVM-but-not-Java" camp.

Also, non-backwards-compatible language changes fragmented the Scala ecosystem. Combined with the general trend of functional programming hype somewhat dying down in recent years.

show 1 reply
swampdeertoday at 4:31 PM

Having used Scala3 in anger for a couple years its just a badly designed language with bad tooling, a bad standard library [1], and small under-resourced and oddly insular community.

Scala has none of the referential transparency or type inference benefits of a regular functional language like haskell, or ocaml while adding an intimidating veneer of category theory elitism that keeps people away. Its type system would at least have a safety benefit if it didn't infer stupid things like ((if (a) then 1 else false) : Bool | Int) and convention wasnt to erase everything to some generic trait in the middle of a 30-deep inheritance hierarchy which dynamic-dispatches function calls to any of their overridden implementations in one of the dozen the mixins. The language seems to be a poor choice both if you want a good functional language (the language design & jvm) or if you want a good object oriented language (performance & tooling). It makes it easy to write very complex, implicit and dynamic code and requires expertise to write simple code. Hence it doesn't work for teams with a mix of backgrounds and experience, its at least too difficult to be worth it for me and my resources.

One also gets the impression the community is always off chasing the new shiny thing while the ecosystem is continually slightly broken everywhere. E.g. introducing significant indentation, rewriting the repl, sbt->mill, scaladoc, the languauge server, the unit test libs. The rest of the community I guess is siloed into these huge frameworks/companies or scala 2. Currently the hype is about generating docs for everything with AI which doesn't really impress [2].

While I find its a joy to learn about edge cases like the value restriction in ocaml, because they point to something more universal and true about type inference and programming languages; I've never been pleased to have to learn about a new arbitrary decision made by the scala compiler or standard library developers or imposed by the jvm.

[1] https://stackoverflow.com/questions/1722726/is-the-scala-2-8...

[2] https://www.scala-lang.org/blog/2026/07/06/quality-from-gena...

ktosobcytoday at 4:20 PM

Why?

Too convoluted, doesn't care about compatibility at all, absurdly slow build system and obnoxious "community"?

aslkalskatoday at 6:14 PM

Clojure btw have, arguably, one the best dev communities out there

aslkalskatoday at 5:02 PM

toxic community ... functional programming purists wrecked it

show 1 reply