• [^] # Re: Surprise

    Posté par (site web personnel) . En réponse au journal Lisaac: sorti de la 0.39beta. Évalué à 2.

    chacune des implémentation est une machine virtuelle distincte
    Pas distincte, c'est la même puisque définissant la même machine. La phrase de wikipedia est pourtant claire : " An abstract machine implemented as a software simulation, or for which an interpreter exists, is called a virtual machine." : quelque soit le nombre d'implémentation, tu défini toujours la même machine abstraite, et on l'appelle pour l'occaz machine virtuelle (toujours qu'une seule, c'est bien la même).

    Alors que dans le cas de la compilation native, la VM disparait, la machine abstraite disparait
    La ou je te rejoint c'est que de ce point de vue comment elle le fait, on s'en balance.
    Bah faut savoir, si y'a compilation native en s'en balance, alors que ce n'est rien d'autre qu'une technique d'exécution...
    Donc pour toi la VM existe jusqu'à quel point ?
    Je reste persuadé que pour toi la VM correspond à l'outil qui exécute un code ciblant la machine abstraite, c'est la seule façon d'expliquer la façon dont tu différencies la phase de traduction en code natif et d'exécution en code natif. Pour moi ça c'est la tambouille du runtime.

    Ça marche pas parce que ça ne correspond pas à la définition communément admise de VM ...
    Ben wikipedia c'est réputé pour être populaire et donc exprimer la définition communément admise : c'est une machine abstraite dont il existe une implémentation. On s'en fou de ce que fait l'implémentation, qu'elle fasse de l'AOT, du JIT, de l'interprétation, duchezpasquoi, la VM existe et est définie par une documentation (grammaire, jeu d'instruction, description du comportement, etc.) et rien d'autre. Pas la peine de chercher à la rendre réelle :)

    (100 balles qu'on va rester sur nos positions)