1. Java.
2. The problem of binary compatibility is two folded:
a. What Scala considers major versions (usually minor changes)
b. An open source library community that jumps to beta Scala releases for minor updates
These two together create a nightmare to upgrade libraries or Scala versions