Sans compter le design douteux de la JVM. Tous les spécialistes de la compilation (objet ou fonctionnel) avec qui j'ai pu en discuter (objet) ou lire des comptes rendus (fonctionnel) pointent le fait que générer du code pour la JVM est une vrai galère, surtout à cause de l’absence de véritable types numériques.
So, when the source language isn't quite what the VM designers had in
mind, the "natural mapping" doesn't work and one has to revert to
encodings of data structures. For instance, integers and floats may
have to be boxed (wrapped inside an object) most of the time.
Source-level objects may have to be mapped to VM objects that manage
themselves their own vtable of methods, bypassing that of the VM.
Source-level classes map to even more complicated encodings.
Cela ne veut pas dire que c'est infaisable, mais que c'est beaucoup plus difficile que de générer de l'assembleur processeur.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: Bof...
Posté par Ontologia (site web personnel) . En réponse au journal PHP, A Fractal Of Bad Design. Évalué à 1.
Sans compter le design douteux de la JVM. Tous les spécialistes de la compilation (objet ou fonctionnel) avec qui j'ai pu en discuter (objet) ou lire des comptes rendus (fonctionnel) pointent le fait que générer du code pour la JVM est une vrai galère, surtout à cause de l’absence de véritable types numériques.
Xavier Leroy explique très bien pourquoi c'est très galère de compiler pour une JVM ou du .NET
Cela ne veut pas dire que c'est infaisable, mais que c'est beaucoup plus difficile que de générer de l'assembleur processeur.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker