&gt; In a production system, Scala is quite frustrating to work with because of the frequent backwards compatibility breaks<p>... and this gets exponentially worse if you depend on a lot of scala libraries. That&#x27;s one reason that I absolutely abhor depending on anything Scala in my own Scala projects. Now, I&#x27;m not fanatical about it, but if there&#x27;s an equivalent Java library with a reasonable interface then I&#x27;ll definitely prefer that.<p>I can understand that maintaining binary compatibility is <i>incredibly</i> difficult for the Scala devs, but they really should have provided an easier way to just <i>BUILD YOUR DEPENDENCIES FROM SOURCE</i>[1] if it cannot find suitably binary-compatible dependencies. This would also ease the adoption of scala.js with its own forks&#x2F;ecosystem for e.g. scalaz hugely. In practice everything I&#x27;m depending on is going to be open source and could just be fetched + built on demand rather than me having to wait for upstream to build + publish a new version. Usually people are considerate enough to not break source-compatibility willy-nilly, but predicting what will break <i>binary</i> compatibility is Dark Magick... which means that few people actually do that in practice.<p>[1] This is one of the very few things the Haskell&#x2F;Cabal ecosystem got right from the start. It allows the compiler to evolve incredibly fast by just outright ignoring binary compatibility.