I have wondered for a while about the feasibility of having Java run on the CLR.
After seeing a previous question here, I realize that there are quite a few differences between the Sun Java platform and the .NET runtime that would make cross-compiling impossible in all but the most trivial cases.
That being said, isn't IL a Turing-complete language? Couldn't you write a JVM in IL? Of course, the answer is yes, but why even go that far?
My question is:
Is the CLR (as a platform) incompatible with Java as a language (not a platform)?
How much of Java would have to be contorted or broken in order to make it fit?
Surely, this could be compiled for the CLR + .NET:
import System.*;
public class HelloWorldExample
{
public static void main(String args[])
{
Console.WriteLine("Hello World !");
}
}
Clarification:
What I'm getting at, is that I want to know what language features of java are incompatible with their CLR counterparts.
For example, I think that Generics are somehow in-congruent. I believe that it is as similar story with exceptions.