Теоретически возможно реализовать jvm на другом языке. Лучший пример, который я могу придумать, это Python / Jpython, где есть оригинальная реализация C и реализация языка Java на чистом языке.
Главный аргумент против этого - это тонна работы за небольшую выгоду.
Официальные библиотеки Sun jvm и поддерживающие jni написаны в основном на C, вам, как минимум, нужно предоставить собственные ассемблерные реализации для большинства API C POSIX.
Кроме того, первоначальной целью разработки C был «переносимый язык ассемблера», и в значительной степени он все еще отвечает этим целям. C производит эффективный машинный код, и большинство компиляторов C позволяют машинным инструкциям кода быть встроенными в код C.
Еще одним преимуществом C является количество доступных кросс-компиляторов, вам не нужно запускать среду разработки на целевой архитектуре, вы можете разворачивать и тестировать модули на вашей любимой форме / IDE, когда вы будете готовы, вы можете экспортировать исполняемые файлы для целевой платформы.