• [^] # Re: IronPython

    Posté par (site web personnel) . En réponse à la dépêche Erlang/OTP R11B supporte les architectures multiprocesseur. Évalué à 2.

    Le langage Python fourni à travers sa grammaire une sémantique au programmeur : c'est l'ensemble des spécifications de "fonctionnement" qui constitue la machine virtuelle. La notion de machine virtuelle est une notion abstraite qui représente uniquement le comportement et les services fournit à l'exécution. En ce sens IronPython fournit une implémentation de la même machine virtuelle que celle de Python original : l'interface fournit au programmeur et le comportement à l'exécution sont les mêmes (en tout cas c'est l'objectif), on compare donc bien 2 machines virtuelles, et il n'y a rien de fallacieux là dedans.
    Tu dis que .NET et Mono sont beaucoup plus optimisés que celles de CPython... C'est un petit peu le but de la comparaison :) De plus les 2 premiers n'ont pas du tout était conçu pour des langages dynamiques contrairement à CPython... IronPython sert d'ailleur de "cobaye" à MS pour améliorer sa VM en matière de langages dynamiques.

    En fait sa comparaison est foireuse mais à pour une toute autre raison : il veut démontrer que le C n'est pas plus "rapide" que le C# en prenant pour exemple IronPython... Ce qu'il oublie c'est que .NET/Mono ne sont PAS écrits en C# mais en C :)

    Bref, les seuls conclusions que l'on peut tirer ne sont pas sur le langage en soit mais sur les détails d'implémentation de la même VM : JIT ou non, VM dédiée langages dynamique ou pas, etc.