
With this book you will learn how to be more productive with Scala, a new multiparadigm language for the Java Virtual Machine (JVM) which integrates features of both object-oriented programming and functional programming. Scala is ideal for highly scalable, component-based applications that support concurrency and distribution.
To scratch your itch of broadening your horizons and learn lots of amazing features that don't exist in the languages you know (Python, JavaScript, Typescript), I recommend Scala
It's one of the few books that is structured in the same way a Scala developer thinks. Lots of Scala books follow the same order: keywords, usual syntax, features also in Java, features exclusive to Scala. I think this is damaging for any person looking to learn Scala, because it does nothing to lay out the way the features interact together. for instance, the Oreilly book shows pattern matching and implicits before class hierarchies, and that maps well with how Scala devs work, because the former features are encountered daily, while the latter tends to be uncommon.
As for maintainability: you're right. Stricter languages are more maintainable. There's also the issue of powerful languages attracting certain kinds of people. Over the years, I've settled on a simple policy: reject everything that is not documented. This goes for both internal code, and external dependencies.
Even when it's targeted at the JVM. Scala.JS usage isn't that hard after you read half of the book.
https://www.amazon.com/Functional-Programming-Scala-Paul-Chi...