11 ms·
Seems a little clickbait-y and I don't think it's true from what I've seen anecdotally (though I work in data science with Spark so I'm clearly biased). I start
by entee 10y ago
Seems a little clickbait-y and I don't think it's true from what I've seen anecdotally (though I work in data science with Spark so I'm clearly biased). I started out as a Scala skeptic at my current company, but have grown to really like it.
However some of the critiques of Scala I think are well taken.
1.) It's true that there are often a zillion ways of doing things. In contrast to Python, readability and consistency don't seem to be a core part of the language's culture.
For example the first element of a tuple is x._1 but the first element of a list is x(0). I understand this is for historical mathematical reasons, but that just doesn't seem necessary IMHO.
2.) Operator overloading makes some code really hard to read and requires a lot of cognitive overhead.
For example, without explanation do you know what the ::: operator does? Or :+ or +:? They are obviously learnable, but why do this instead of named (readable) methods? In short I think brevity over readability is not the right choice.
3.) As others have said, compile time. It's not too bad for us, but yeah, it's long.
These contribute to the language being a little hard to get up to speed with, and not infrequently coming into contact with code that's fairly indecipherable.
That said, I actually quite like the language. The rich types/mixins, the clean functional programming, I find myself missing these things when I go back to other languages. Everything can be improved and I expect Scala to continue to flourish.