Some languages (mostly ones made in the last 2 decades or so) can now not only run (after some compilation step or directly) on several platforms, but also can be compiled to run on several virtual machines.

For example, take [Scala](http://www.scala-lang.org/). Pure Scala code can be either interpreted , compiled to run on the JVM (Java Virtual Machine) or can be compiled to run using the .NET Framework.

The benefits of platform-independence put aside, what exactly are the benefits of writing code that can compile on several virtual machines and runtimes?