There are better options on the tooling. Eclipse rather than IDEA, Maven rather than SBT. Not perfect by any means, and the compiler is slow, but good enough to work with day-to-day.
The library ecosystem is growing every day, and the community is starting to recognize the importance of good documentation. See e.g. the Cats project, with a big emphasis on that.
Code readability in general, rough edges, and things that are difficult for newcomers to read incrementally are precisely why I'm so worried about the syntax being frozen.
Is Eclipse (Scala IDE) better than IntelliJ now? About a year ago people convinced me to switch to IntelliJ because Scala IDE was totally unusable, full of spurious compilation errors and useless refactor that introduced random symbols instead of doing its job.
Eclipse still has problems, its refactoring doesn't really work, and the UI locks up every so often, but its compiler is substantially more reliable than IntelliJ's. It's a case of picking your poison really.
Maven is a hug step backwards. SBT has its issues, but maven is god awful. Going forward though on new project, I plan on using Gradle. I find it a lot easier to work with than SBT.
Nono! Typesafe, I mean Lightbend, declared that random strings of symbols are just method names, so no need to worry about that operator overloading thing! Except methods with ":" in the name tend to work differently wrt. precedence.
(Look, I'm not on a crusade against Typesafe/Lightbend, but they've been hugely disingenous on a lot of things like this. I could have accepted it if they'd just said "yes, it's operator overloading, but better". Instead they chose this ridiculous disingenuous "nono, it's just method names!" approach. In my book, the only people who can get away get arbitrary method/function naming are the LISP/Scheme people. Because in LISP/Scheme there is no precedence to worry about.)
Yes, they're very common in build.sbt files. How else would you add library dependencies?
I know exactly what they do; the underlying reasoning is very consistent, maybe even elegant. But if you don't know and need to understand/modify a build.sbt file, it's very tricky to find out.
The library ecosystem is growing every day, and the community is starting to recognize the importance of good documentation. See e.g. the Cats project, with a big emphasis on that.
Code readability in general, rough edges, and things that are difficult for newcomers to read incrementally are precisely why I'm so worried about the syntax being frozen.