When people say Scala is too complex, are they talking about functional programming?
back
2 comments
I hope not.
I personally think Scala's greatest complexity is in its type system. While algebraic data types are straightforward in themselves, Scala blends them with an object-oriented mindset more rigorous than Java's. In particular, Scala requires a solid understanding of covariance and contravariance — concepts unnecessary in Java or C++.
No, it's the interactions between all of the boatload of features of the language that causes the explosion of complexity.
Right. The OO subtyping combined with the type system makes it complicated. I don't mind that, but another consequence is the limitedness of the type inference, which is kind of annoying.