Is Scala a good programming language?


There are some pluses to Scala: it is statically typed, it has a lot of syntactic sugar that allows you to write very compact code, it is inter-operable with Java so you can use any Java library that exists. However there are plenty of downsides:
  - there's too many ways to do the same thing (for example "a.b" is the same as "a b")
  - there's often entire sub-languages that spin out (e.g., when doing shell manipulation), and it's hard to understand these obscure sub-languages
  - there is a breaking upgrade from Scala 2 to Scala 3, which means that Scala 2 people are stuck with it, without improvements.