2 ms·
I use a variety of languages and always feel that Scala gets a bad-rap because it's a compromise language (though I feel the same about Rust and most people see
by yw3410 6y ago
I use a variety of languages and always feel that Scala gets a bad-rap because it's a compromise language (though I feel the same about Rust and most people seem to like it).
Scala 3 pros:
+ Higher-Kinds
+ Type-classes
+ Decent-ish hygienic macros
+ Decent OO model with mixins
+ for-comphrension
+ Compile-time evaluation
+ Laziness
+ Currying
It's pretty good at all of them - but not quite.
If you're used to Haskell you'll get annoyed at the fact that the inference is only within a single statement and that polymorphic functions resolve the typeclasses in a particular way.
If you're used to Scheme, you'll get frustrated that the identifiers can't be created easily in its new macro system or you can't manipulate the scope-sets of the identifiers.
If you're used to Erlang you'll wonder why Akka can't reload functions easily.
If you're from Java you'll wonder why everyone is going on about profunctors, effects and finally tag-less.