Le fait que, ces services soient pour le moment offerts sur des machines virtuelles prouvent que compiler la même chose est trop compliqué
Je me tue à t'expliquer qu'une plateforme comme Mono tu produits un code compilé en natif
Simplement produire du code natif, ce n'est pas difficile: au pire il suffit d'embarquer des bouts de l'interpréteur dans l'exécutable et pouf, tu as un programme natif. Ce qui est plus intéressant, c'est de savoir à quel point l'abstraction de la VM a été traduite et adaptée vers le niveau inférieur pendant l'opération.
Par exemple, si tu prends un langage comme Ruby qui te permet de rajouter des méthodes aux objets quand tu veux, ça complique beaucoup l'optimisation, parce que tu ne peux pas savoir quelles sont les méthodes d'un objet à l'avance. Tu n'auras aucun mal à produire un exécutable natif si ça t'amuse, mais tu ne gagneras pas automatiquement en efficacité, si pour conserver cette fonctionnalité tu as été obligé de n'inliner aucun appel de méthode.
[^] # Re: Le passage Mono dans le document
Posté par Yusei (Mastodon) . En réponse au journal Mono et Gnome. Évalué à 2.
Simplement produire du code natif, ce n'est pas difficile: au pire il suffit d'embarquer des bouts de l'interpréteur dans l'exécutable et pouf, tu as un programme natif. Ce qui est plus intéressant, c'est de savoir à quel point l'abstraction de la VM a été traduite et adaptée vers le niveau inférieur pendant l'opération.
Par exemple, si tu prends un langage comme Ruby qui te permet de rajouter des méthodes aux objets quand tu veux, ça complique beaucoup l'optimisation, parce que tu ne peux pas savoir quelles sont les méthodes d'un objet à l'avance. Tu n'auras aucun mal à produire un exécutable natif si ça t'amuse, mais tu ne gagneras pas automatiquement en efficacité, si pour conserver cette fonctionnalité tu as été obligé de n'inliner aucun appel de méthode.