upvote
No affiliation with either, but I don't think Java and Scala are punching at each other, and they're both doing great. Needless to say Java has continued to exceed expectations and given its huge role in the world, that's worth [handwave very huge number] in consumer welfare. Scala has evolved the last several years to again become perhaps the most interesting big-ish application language, eg see Odersky's recent https://scaladays.org/session/opening-session-keynote/ and https://dl.acm.org/doi/10.1145/3786335.3813127
reply
I still write Scala. But not sure for how long. I swear, it's such a joy to write code in Scala.

It's like French poetry.. So much elegance. An no effect system BS. Just like Martin Odersky intended it to be!

reply
I like a lot of Scala but dislike implicits. I feel like it is the wrong abstraction in that it is similar to implicit type conversion in C/C++, making it harder to reason about what the code is doing and navigating to the types/methods being called.

I prefer extension methods for what Scala implicits do [1], [2]. The only part that is lacking with extension methods is to be able to extend a type to implement an interface, e.g. Comparable, but you can create extension methods that return anonymous objects [3].

[1] https://kotlinlang.org/docs/extensions.html#anonymous-extens...

[2] https://learn.microsoft.com/en-us/dotnet/csharp/programming-...

[3] https://discuss.kotlinlang.org/t/extensions-function-to-impl...

reply
>it's such a joy to write code in Scala.

Yes, but also a bit of a torture to read code in it..

reply
Agree. Really enjoy it—without type effects libs.
reply
Curious what you meant about the effect system BS?
reply
I'm assuming they mean Scala doesn't have the tortured Haskell IO monad.
reply
Scala doesn't have an IO monad by default, but ZIO, CatsEffect, and probably others are fairly popular in at least some parts of the community. IMO it's kind of the worst of both worlds (all the complexity, none of the guarantees), but it's definitely there.
reply
Oh. It does. https://github.com/zio/zio

Thankfully, not in the core language :)

reply
This is perhaps why the comment added "Just like Martin Odersky intended it to be!"

There are just too many ways to use Scala, and everyone thinks they're doing it "idiomatically".

reply
Sigh, I so very miss writing Scala.
reply