3 ms·
> Scala has tons of language features and lets people do crazy things in the code. In many ways, it's even worse than that. Scala has exactly two features (imp
by pdpi 6y ago
> Scala has tons of language features and lets people do crazy things in the code.
In many ways, it's even worse than that. Scala has exactly two features (implicits and punctuation-free method calls) that allow you to build massively complicated libraries that pretend to be language features, and which work worse than equivalent features in languages that support them explicitly. A good example of this is typeclasses which are core features of haskell and rust, but are implemented by explicitly passing implicits (hah) in Scala.
- yw3410 6y agoScala 3 has type-classes as a core feature.
- pdpi 6y agoRight. We don't have a full production 3.0 release yet, so I tend to think of "Scala" as Scala 2 unless it's specifically qualified as Scala 3. Scala 3 seems to be a really good step in the right direction for me. There's a clear desire for many of the features that are currently achieved through burdensome hacks on top of implicits, and actually reifying several of them into core language features is a counterintuitive way to make things simpler rather than more complicated.
- cutler 6y agoAs far as I'm aware implicits are alive and well in Scala 3 and will, I predict, be Scala's ultimate downfall.
- lmm 6y agoNo it doesn't, it has syntax to make them look more like a language feature but they're actually still just implicits.