You're right that Scala is very complicated, insofar as there are a huge number of features and a lot of code is unreadable if you don't know them. It's a stark contrast to the "runnable pseudocode" of Python. But I think there's a tradeoff between language complexity and project complexity.<p>The wide feature set of Scala wasn't just assembled at random; it's there because there are use cases in which each of those features makes a task really simple. If you've got a team of smart programmers, then overcoming the language barrier will take a lot less effort in the long run than producing and maintaining tons of bloated code in a less complicated language.