| Making the language syntax and semantics a standard is only part of having a working runtime. MSIL, the VM, and the class library are also part of a complete implementation. In Android, the Java language syntax and semantics are used. In part, the class library is derived from Apache Harmony, though the implementation has substantially diverged, and in part is the original work of Google. The runtime is all specific to Android. The VM does not use Java bytecodes. It uses Dalvik bytecodes. This is a neat trick: You can use Eclipse and most of the Java compilation chain. It diverges from Java where Java bytecodes are translated to Dalvik bytecodes. That means that every tool, even the ones that depend on Java bytecodes, works for Android development. You can use other JVM languages with Android https://www.assembla.com/wiki/show/scala-ide/Developing_for_... But (!) that elegant way it all snaps together means you need to start by making C# a JVM language, which, as far as I know, hasn't been done. A deep, dark irony of this is that the modern Microsoft runtime environment and class library stems from Visual J++, which Sun sued out of existence. At the time, it was by far the best Java for writing interactive.applications. |