• [^] # Re: Pourquoi Mono ?

    Posté par (site web personnel) . En réponse au journal Utiliser Mono sans peur. Évalué à 2.

    Je ne vois pas pourquoi le fait de rajouter des métadonnées fait d'un code compilé une VM.
    Ben le langage expose une sémantique qui n'existe par réellement : il propose une vue virtuelle au programmeur pour lui offrir un service.
    La conséquence peut être l'ajout d'information supplémentaire (le code compilé n'étant pas suffisant) pour rendre ce service à l'exécution.

    Il n'y a aucun intermédiaire entre le code et la machine, contrairement à une VM.
    GCC passe par une représentation intermédiaire, un truc de même niveau que le bytecode.
    Ce que fait un compilateur C : compilation => représentation intermédiaire => code machine exécutable.

    Ce que fait un compilateur C# compilation => représentation intermédiaire. Et le runtime : représentation intermédiaire => code machine exécutable.
    Sachant qu'il est également possible de faire exactement comme en C, à savoir tout avant l'exécution, il ne faut pas voir dans la compilation la définition de VM.

    Après on a peut-être une définition des machines virtuelles un peu différente, vu ton affirmation.
    Très certainement.