alt.hn

7/24/2026 at 7:37:18 PM

Show HN: Scala Tutorials – interactive Scala 3 lessons in the browser

https://scalatutorials.com

by eranation

7/24/2026 at 7:38:06 PM

It was a pet project of mine back in 2013 [0]... revived it (with a bit of help from Claude) and made it updated to Scala 3. Feedback welcome!

[0] https://news.ycombinator.com/item?id=7614130

by eranation

7/28/2026 at 1:17:32 PM

Very cool, I love Scala and am quite sad that it isn't getting the interest and popularity it should.

by eviluncle

7/29/2026 at 12:04:42 PM

Instead of being sad, have you considered evaluating why that is?

by btreecat

7/28/2026 at 4:15:03 PM

Me too. It's my favorite language by far. So expressive. Although that can be a downside.

by tharmas

7/28/2026 at 2:24:39 PM

This is very cool, I've never heard of Scastie, I'll need to take a closer look at that. I created a similar platform for Python (actually submitted to HN earlier today: https://news.ycombinator.com/item?id=49083146)

by camdenreslink

7/29/2026 at 4:58:31 AM

Currently running an internal maintenance mode project with a Scala backend. The odd times I'm asked to look at it, I still find the code very beautiful.

by jjpones

7/28/2026 at 1:19:47 PM

Very nice!

by noelwelsh

7/28/2026 at 2:41:56 PM

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?

by sunshine-o

7/28/2026 at 3:35:39 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.

by bearforcenine

7/28/2026 at 3:50:03 PM

Not only it happened at the worst possible time, but some pain points are entirely self-inflicted, like the braceless syntax hurting tooling and fragmenting the community for very little reason.

But in my opinion Databricks implicitly saying "no thanks" for the foreseeable future did a lot of damage here. Databricks didn't even bother bringing their proprietary runtime to Scala 2.13 until last year. Scala 3 is not entirely out of the question but it's taking forever, and at this point users can seriously ask themselves if Spark will actually stay relevant that long.

by hocuspocus

7/29/2026 at 2:18:10 AM

Not to mention pyspark stealing mindshare

by ATMLOTTOBEER

7/29/2026 at 1:55:35 PM

Both sides of the same coin, I'd be surprised if Databricks wasn't looking into getting rid of the JVM entirely.

The data processing space is increasingly tangled with ML and AI, Python on top of C++ and Rust libraries makes sense, keeping the JVM to orchestrate tasks and shuffle data around, not so much.

by hocuspocus

7/28/2026 at 3:05:06 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.

by hocuspocus

7/28/2026 at 4:21:43 PM

I've always seen Clojure alongside Elixir as sort of darling languages people like to talk about on forums such as this that doesn't get commensurate usage in the real world. There are always counter-examples and people will rush in to say how they use it, but that sort proves the point. I think it's a kind of love of esotericism and a desire to distinguish themselves that drives people to talk the talk when the average 9-5 is typescript, python, etc.

by Avicebron

7/28/2026 at 2:51:24 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.

by wk_end

7/28/2026 at 3:19:58 PM

I'm pretty sure most companies don't care nor are aware about the community drama. Arguably Rust is worse, and it doesn't impact its uptake.

Scala was sold through Akka and Spark, solving pretty complex technical challenges that are less relevant nowadays. In fact if you can avoid Akka and Spark, do.

A lot of companies followed the hype without investing in the developer experience. Tech debt hurts more in Scala than in a bigger, slow moving language. After typical turnover, you get teams inheriting unmaintainable codebases. This leaves a bad impression. It can be avoided, Twitter built world-class SOA with Finagle, as well as a complete layer of libraries on top of Hadoop, at a time where the Scala ecosystem was even rougher.

The fact Databricks doesn't care much about the language also did tremendous damage, forcing the community to cross-build against very outdated versions of Scala.

In short, Scala was never a better Java and adopters who thought otherwise invariably got burned.

by hocuspocus

7/28/2026 at 4:09:24 PM

> Arguably Rust is worse, and it doesn't impact its uptake.

I've been in both communities and this isn't my experience at all. There was a significant period of time in the Scala community where you'd get insulted constantly if you didn't buy into an extremely rigid purely functional programming mindset. Even Odersky and Li Haoyi were continuously berated. The Scala community moderators were far too slow at dealing with these people and a ton of people left because of it.

The Rust community is amazingly welcoming in comparison and the constant vitriolic flaming that occurred in the Scala community simply wouldn't be tolerated.

by hnaccount19293

7/28/2026 at 4:27:41 PM

Which moderators exactly? That hasn't been the stance of people in the Scala Center, Typesafe/Lightbend, VirtusLab and SoftwareMill.

ScalaZ is old news and if you went there (on IRC at the time) you knew exactly what you wanted. It doesn't excuse people being assholes, and the Typelevel schism happened partly because of that. Since then people on Gitter and now Discord have been nothing but kind and welcoming to newbies. Same in the ZIO community.

Of course, people building FP libraries will defend their ways. Odersky doesn't build the library ecosystem, and without the FP community Scala 3 would pretty much have killed the language entirely, as nothing else was ready until a few years later. It makes sense that people keeping the main open source communities alive have a bigger presence in the broader community, it's almost tautological.

I haven't seen a huge deal of momentum around Li Haoyi's libraries for instance, they're very much used in their narrow scope, but there's no ecosystem per se. Even his own build tool struggles there despite the technical merits, and he's been advertising Mill non-stop in the past years.

You can't force people to buy into your way of doing things. If there was space for a great non-functional landscape built in Scala then it would exist. Nobody stops you from building and gathering with like-minded people.

by hocuspocus

7/28/2026 at 4:49:51 PM

Yes. The list of reasons is long, but at the end of the day the Haskell on the JVM crowd moved on to other things, and the people who just wanted Java++ moved to Katlin. And that was most of the audience.

by jghn

7/28/2026 at 2:59:43 PM

Felt weirdly gate-kept as well.

by morkalork

7/28/2026 at 4:31:06 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...

by swampdeer

7/28/2026 at 3:23:59 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.

by wavemode

7/28/2026 at 3:36:38 PM

I try to keep track of teams moving away from Scala at my company and among my friends and acquaintances, and I know a lot of key people in the community.

Scala to Kotlin stories are extremely rare.

Kotlin is almost non-existent in the data processing world (Spark, Flink, Kafka streams...)

Kotlin's presence in the average CRUD web app or more complex SOA doesn't overlap with Scala that much, as someone who enjoyed the paradigms available in Scala would definitely not move to Spring, and frameworks such as Ktor or http4k are pretty niche. I've seen people move to modern Java, Rust (a lot actually), even Go despite the language being at the other end of the spectrum. But Kotlin, not really.

by hocuspocus

7/28/2026 at 4:38:42 PM

Funny how experience differs. I think almost all Java teams I know use Kotlin now in some capacity, mostly for new code but sometimes for all code. Not to mention Android is a very large share of applications and Kotlin is the default choice there.

by brabel

7/28/2026 at 7:33:09 PM

No Java teams at my company have moved to Kotlin. There’s a is a shift of Scala -> Java, I think many people are scared of adopting a guest language again and modern Java with records, switch expressions, and sealed types isn’t bad enough to warrant the risk.

by vips7L

7/28/2026 at 9:22:06 PM

Right, especially if you were burned by Scala, Kotlin is even less principled, and lately has grown in complexity, partly thanks to re-inventing several Scala features, only worse.

I also talk to pure Java teams, that never considered anything beyond the typical Java/Spring/Hibernate, they won't even have a look at slightly more modern approaches (Quarkus, Panache, build-time annotation processing and native images) despite jumping on new version of Java rather quickly. They couldn't care less about guest JVM languages.

Roughly speaking I believe that developers who enjoy Scala won't go a lesser language, that looks similar on the surface but specifically takes away what makes Scala special. Then people who dislike it will just stick to the most vanilla Java stack, which benefits from being literally one of the most popular choice on Earth.

Of course there are a few people doing Android or KMP, or who think Kotlin is in the right spot on the backend. But usually they aren't coming from Scala.

by hocuspocus

7/28/2026 at 9:31:43 PM

I don't enjoy Scala personally, but I do really enjoy Kotlin. It's a breath of fresh air to Java. WRT to spring -> Quarkus I think that's just a symptom of the teams being on a supported stack that works for them. There isn't necessarily anything wrong with Spring, unless you absolutely need the build time stuff. Thankfully I've managed to convince my own teams to move from Play to Quarkus.

by vips7L

7/28/2026 at 4:54:13 PM

How's that relevant to people moving away from Scala?

by hocuspocus

7/28/2026 at 7:31:21 PM

Hello Hacker news comment police!!! Sorry, remarking on a comment is strictly prohibited unless closely related to the post, and it never happens on this site!

by brabel

7/28/2026 at 4:20:12 PM

Why?

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

by ktosobcy

7/28/2026 at 6:14:02 PM

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

by aslkalska

7/28/2026 at 5:02:03 PM

toxic community ... functional programming purists wrecked it

by aslkalska

7/28/2026 at 6:11:40 PM

thanks for proving my point down voters lol

by aslkalska

7/28/2026 at 12:51:10 PM

Beautiful. Thank you! =)

by otobrglez

7/28/2026 at 3:58:45 PM

I had to work with Scala in one class in college and my goodness did I absolutely hate it. I didn't know you could make Java worse, but they found a way.

Nothing against the people making tutorials ofc, I just hated the language.

by Magicrafter13

7/28/2026 at 4:16:52 PM

I'm surprised. Usually, the gripes are the compile times or the lack of tooling compared to other languages. For functional programming its quite expressive. ZIO and Typelevel Cats.

by tharmas

7/28/2026 at 4:25:59 PM

[dead]

by Magicrafter13

7/29/2026 at 5:05:55 AM

Funnily enough, as someone who absolutely hated my Java classes in college and ending up in a job that made me learn Scala, I just appreciated it as Java but better.

by jjpones