I spent about 2 weeks using Scala, before concluding that I hate the language.
When I first wrote the first beginner guide to Scala, I was in awe, and yet feeling a tinge of uneasiness.
Then I spent a few days creating a Scala web application, resulting in a subsequent random guide to Scala programming.
After I am done with the project, I know I would not start another project in Scala at my own will.
Here’s what I think:
-
Scala is a powerful & complex language.
-
You could have dozens of custom operators like
</>
, and=:=
. That makes understanding code very difficult. Take a look at the dispatch (HTTP) library. -
Even simple usage requires explaining. There’s too many concepts.
-
Otherwise, it is a lack of explaining
-
You will be constantly figuring out the language syntax
-
Ecosystem not great; lack of support, docs
It’s damn hard to read Scala code.
You can call me an average programmer for all I care. But let’s say I am average, and I can’t understand Scala, then Scala is not a universal language.
Reading a real life feedback from Yammer, it worries me even more. Some other things they said:
-
Major version releases is backward incompatible
-
High learning curve, slow to get productive
-
To increase performance: Don’t use for-loop, s.c.m/i.. wtf
-
Compared 2 codebases, consensus is Java. Hence they switched back.
I like Python better. And I always like one of Python design philosophy
There should be one– and preferably only one –obvious way to do it.
Scala has too many ways.
You will not be able to comprehend easily. Never.