What are the most important points to be aware of, and the workarounds, when gradually migrating an existing Java codebase to Scala? With a (potentially very long) intermediate phase where both languages are in use.
The sort of things I'm thinking about are:
- different collection hierarchies
- Java constructs that Scala can't handle well
- Scala constructs that are impractical to use in Java
- build tools
- compilation order
- immutability support in frameworks
- etc.