3 ms·
I agree partially with the critiques. The things I don't like in Scala: 1. Compile times. It is a problem for big projects. SBT / FSC helps quite a lot, but I
by pkolaczk 13y ago
I agree partially with the critiques.
The things I don't like in Scala:
1. Compile times. It is a problem for big projects. SBT / FSC helps quite a lot, but IMHO it is still not enough. I hope they get them much better in Scala 2.11. Also performance and correctness of the IDE plugin typechecking could be better, so I don't have to compile that often.
2. Lack of backwards binary compatibility. Source compatibility is ok, but selecting the right version of all the libraries is pretty painful, especially if the authors of the library didn't make the packages (yet) or they haven't been deployed to maven repo, etc.
3. That some elegant code constructs come with sometimes huge runtime performance penalty. It got much better recently (e.g. for loops are as fast as while loops now in Scala 2.10), but I feel it could be better. Again - hope Scala 2.11 addresses those concerns at least partially.
The things I don't agree with the OP:
1. Documentation - it is awesome.
2. Syntax flexibility - many times DSL is a better way of expressing things than just a bunch of methods, and easier to learn.
3. Tooling - good enough now, and improving fast.
4. Type inference - I consider it good enough, albeit not perfect. And types in method signatures add a lot to code readability.
There may be some languages that have better IDE support, faster compile times, better type inference, richer type system etc. But none of them supports full feature set of Scala, particularly all the available libraries. So IMHO taking every single feature out from Scala and comparing it let's say to Haskell or ML is ridiculous.