Некоторое время я задавался вопросом о возможности запуска Java на CLR.
Увидев предыдущий вопрос здесь, я понимаю, что между платформой Sun Java и средой выполнения .NET существует довольно много различий, которые делают кросс-компиляцию невозможной во всех, кроме самых тривиальных случаях.
Как говорится, не является ли язык Тьюринга полным? Не могли бы вы написать JVM в IL? Конечно, ответ - да, но зачем даже заходить так далеко?
Мой вопрос:
Является ли CLR (как платформа) несовместимым с Java как языком (не платформой)?
Какая часть Java должна была бы искажаться или ломаться, чтобы она подходила?
<Ч />
Конечно, этот может быть скомпилирован для CLR + .NET:
import System.*;
public class HelloWorldExample
{
public static void main(String args[])
{
Console.WriteLine("Hello World !");
}
}
<Ч />
Пояснение:
Я хочу знать, что я хочу знать, какие языковые функции java несовместимы с их аналогами CLR.
Например, я думаю, что Дженерики как-то неконгруэнтны. Я считаю, что это похожая история с исключениями.