Same, 2010-era FP in Scala was a disaster and also very angry, but I'd say in about 1-2 years FP Scala will be about at the maturity that they imagined they were at in 2010. Still kind of angry though.
I've used both and end up writing much more Scala. There are a few reasons why this was the case for me:
- Scala is much closer to Java making it an easier sell to other Java programmers.
- I think static typing makes a lot more sense for larger projects
- I found a rich static type system easier to use and more generally applicable than macros.
Yes. In general, I would choose Scala. Better tooling, (pretty good) type system; not without its warts. Main concern I'd see ahead is the 2 -> 3 transition, which has the potential to be as difficult as the Python 2 -> 3 transition. That said, Scala 3 looks nicer to me as a language, with top-level functions, significant whitespace (more concise code), and better ADTs.