• [^] # Re: Applications natives

    Posté par . En réponse au journal Vous êtes plutôt applications web ou applications desktop/native ?. Évalué à 1.

    mmmmh
    compiler du JS comme n'importe quel langage, je suis pas si sur que ca, vu la nature hautement dynamique du langage, qui requiert une VM.

    Genre, comment tu compiles ca?
    eval("x=10;y=20;document.write(x*y)");
    document.write("br /" + eval("2+2"));
    document.write("br /" + eval(x+17));

    ou encore un truc plus rigolo:
    var min(a, b):int
    {
    // return min
    }
    var max(a,b):int
    {
    // return max
    }

    function getFunctionName(param:Object):String
    {
    return httpRequest.getFunctionName(param);
    }
    var z;
    var evalString = "x="+getFunctionName(param)+"(a,b,c)";
    eval("x == 42");
    eval("z = x");
    trace(z);

    Sachant que nulle part X n'est defini dans le code, et que donc tu vas devoir faire une allocation qq part et garder tout ca en memoire en passer de ton espace "eval" a ton espace compile (affectation de x a z dans le dernier eval).

    Apres, on peut rentrer dans le debat de ce que veut dire compiler un langage.
    On parle bien de compilation pour java ou c#, mais c'est vers un bytecode inexecutable sans VM et les compilations natives de ces langages retirent un certain nombre de feature, qui ne sont generalement accessibles qu'en se trimballant un gros runtime (donc t'es plus vraiment en langage compile).

    Bref, sans etre fausse, c'est dur de qualifier ton assertion de vraie.