Personne ne vous interdit de le faire, si vous voulez traduire (compiler) du Java dans un autre langage (C, MSIL, jeux d'instruction x86, etc.) c'est tout à fait possible. Le bytecode de Java n'est rien d'autre que le jeux d'instructions de la machine virtuelle.
La plus part des compilateurs pour le langage Eiffel par exemple, utilisent le C comme langage intermédiaire, puis un compilateur C pour la compilation dans un langage machine.
La question à se poser est : pourquoi voudrait-on le faire? Les performances des JVM sont aujourd'hui tout à fait adéquates et il faudrait compiler le Framework autant de fois qu'il y a d'architectures matérielles (avant de tester ce même Framework sur chaque architecture alors qu'avec une machine virtuelle, si la machine virtuelle fonctionne alors le Framework fonctionne). Pour écrire des programmes "natifs", de C à Haskell en passant par C++ et Eiffel, il y a déjà suffisamment de langages.
Partager