Ton troll était "Lisaac n'est pas le premier langage compilé à prototype".
Je n'a pas trouvé d'argument fort sur le fait que JS n'est pas vraiment un langage à prototype à part le fait qu'il ne parle pas de slot mais de variable et de fonction modifiable à la volé (or il me semble que jscript l'interdit).Là j'ai une fonction de JS que l'on ne peut pas compiler complètement à cause d'eval().
T'es vraiment un rigolo. tu passes ton temps à vanter les trucs autour de .NET.
J'admire le bon trolleur de base qui s'arrête à la première phrase du journal.
Et les mécanisme de VM n'ont rien de supérieur au mécanisme natif, c'est juste un choix différent mais tu dois être trop limité (aveuglé ?) pour t'en rendre compte.
Et moi, cela me gave de lire des gens qui pinaillent sur des bêtises et qui cassent les trucs innovants et ne font que ça. Comptes le nombre de commentaires sur la page qui demande des précisions et comptes ceux qui cassent sans chercher à comprendre !
Si tu lit plus haut tu verra que le truc avec gcj est une connerie. Et concernant Javascript, il ne s'agirait pas d'un vrai langage à prototype. C'est pas de moi, mais du créateur de Lisaac, qui s'y connait plus que moi en langage et plus que toi aussi je pense.
Alors, je n'ai pas l'argumentation concernant le fait que javascript n'est pas un langage à proto mais dés que je l'ai, je la poste.
Sinon, j'ai très bien compris le modèle de sécurité de .NET, ne me croit pas plus bête que je ne lui suis. Si tu distribue tes binaires ngen.exe, tu as la même (absence) sécurité qu'un code C.
En fait, le binaire lisaac cherche un make.lip qui définit la manière de construire tes binaires. Je pense qu'il ne doit pas le trouver. Essayes de lancer le compilo dans le répertoire du make.lip.
Cela me rappelle un bug du style que l'install lisaac ne fonctionne pas en mode root mais seulement utilisateur. C'est peut-être ça.
Pourquoi java ? Pour faire du duck typing un peu plus propre qu'un VBscript avec quelques décennies de retard sur l'état de l'art en matière de langage.
Si c'est ton appli qui load le module tu peux faire en sorte de controler les IOs. Mais c'est vrai que c'est plus facile avec le runtime.
La sécurité ce n'est pas un exemple. C'est le seul qui s'applique. Et encore, cela concerne la sécurité concernant un code en qui tu n'as pas confiance. Cela ne concerne pas grand chose comme code. Il suffit de regarder ce qui tourne sur une workstation.
Pour simplifier, le runtime "contrôle" le code exécuté, quand une lib est contrôlé par le programme exécuté. Dans le second cas, le codeur a le contrôle, dans l'autre, pas.
J'avais oublié le garbage collector qui est souvent dans le runtime. En Lisaac, il est en lib.
Le runtime va gérer la mécanique des exception pour gérer la pile correctement, il va gérer les droits sur les ios du programme pour gérer les protections type sandboxe., il va gérer les threads si il n'y a pas un mapping un pour un avec les threads noyau (runtime ada), et je dois en oublier.
Mais en .NET par exemple, ce n'est pas du tout le cas : tout est systématiquement compilé avant exécution.
Source ?
Cela parait totalement aberrant pour des raisons de trop grande lenteur de démarrage ou de performance ensuite.
L'avantage du jit est justement de pouvoir faire de la constante propagation en connaissant les données du programme, c'est comme ça que Sun arrive à faire des benchmark ou java est plus rapide que le C. En gros, le code est spécialisé en fonction des données, cela simplifie encore plus le cœur des boucles. En plus, si le langage d'origine n'est pas fortement typé, il y a un dispatch a faire très couteux à l'exécution en fonction des données, Dispatch qui disparait dans le cas d'un jit.
Si le code est natif, tu fais ce que tu veux. Tu es obligé d'avoir une VM pour gérer tout ce qui est sécurité.
Pour la partie compilé, j'aime beaucoup comment il rende le code "rapide" : il change le langage !
The other major performance improvement added to JScript .NET is the introduction of Option Fast. This option tells the compiler to enforce certain rules that allow additionally optimizations, at the cost of some reduced functionality. When Option Fast is enabled, the following JScript behavior is activated:
* You must declare all variables.
* You cannot assign values to, or redefine, functions.
* You cannot assign to, or delete, predefined properties of the built-in JScript objects.
* You cannot add expando properties to the built-in objects.
* You must supply the correct number of arguments to function calls.
* The arguments property is not available within function calls.
The new Option Fast feature helps you write faster code, but it does change the behavior of the language—so just adding Option Fast to an existing JScript program may result in one or more compiler errors. Nevertheless, with some small changes to your program, you should see some significant performance improvements.
Il n'y a pas de phase d'interprétation, uniquement de la compilation.
Je veux bien une source. Car cela m'étonnerait qu'un .NET soit entièrement compilé avant utilisation, ce qui aurait des startup time catastrophique (ou des performances catastrophiques).
[^] # Re: De l'inconvénient de ne pas utiliser les méthodes standard...
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Lisaac: sorti de la 0.39beta. Évalué à 2.
"La première sécurité est la liberté"
[^] # Re: Surprise
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Lisaac: sorti de la 0.39beta. Évalué à 2.
Je n'a pas trouvé d'argument fort sur le fait que JS n'est pas vraiment un langage à prototype à part le fait qu'il ne parle pas de slot mais de variable et de fonction modifiable à la volé (or il me semble que jscript l'interdit).Là j'ai une fonction de JS que l'on ne peut pas compiler complètement à cause d'eval().
"La première sécurité est la liberté"
[^] # Re: Surprise
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Lisaac: sorti de la 0.39beta. Évalué à 1.
"La première sécurité est la liberté"
[^] # Re: Surprise
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Lisaac: sorti de la 0.39beta. Évalué à 2.
"La première sécurité est la liberté"
[^] # Re: Surprise
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Lisaac: sorti de la 0.39beta. Évalué à 2.
Cela doit être trop dur d'aller regarder les vidéos pointés ou les slides associés sans doute.
"La première sécurité est la liberté"
[^] # Re: Surprise
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Lisaac: sorti de la 0.39beta. Évalué à 1.
J'admire le bon trolleur de base qui s'arrête à la première phrase du journal.
Et les mécanisme de VM n'ont rien de supérieur au mécanisme natif, c'est juste un choix différent mais tu dois être trop limité (aveuglé ?) pour t'en rendre compte.
"La première sécurité est la liberté"
[^] # Re: Surprise
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Lisaac: sorti de la 0.39beta. Évalué à 1.
C'est vrai quoi, y'a les vrais langages, les langages des hommes quoi, et les autres, les langages de tapette.
Dans "1er langage à proto compilé", il y a proto. Si javascript n'est pas un langage à proto, ce que tu étales depuis le début n'a aucun intérêt.
"La première sécurité est la liberté"
[^] # Re: Surprise
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Lisaac: sorti de la 0.39beta. Évalué à 0.
Comment tu peux te croire tellement supérieur aux autres pour croire que l'on ne connait pas comment fonctionne un JIT ?
Continues de défendre tes dieux américains et fichent nous la paix.
"La première sécurité est la liberté"
[^] # Re: Surprise
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Lisaac: sorti de la 0.39beta. Évalué à 2.
"La première sécurité est la liberté"
[^] # Re: Surprise
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Lisaac: sorti de la 0.39beta. Évalué à 0.
Si tu lit plus haut tu verra que le truc avec gcj est une connerie. Et concernant Javascript, il ne s'agirait pas d'un vrai langage à prototype. C'est pas de moi, mais du créateur de Lisaac, qui s'y connait plus que moi en langage et plus que toi aussi je pense.
Alors, je n'ai pas l'argumentation concernant le fait que javascript n'est pas un langage à proto mais dés que je l'ai, je la poste.
Sinon, j'ai très bien compris le modèle de sécurité de .NET, ne me croit pas plus bête que je ne lui suis. Si tu distribue tes binaires ngen.exe, tu as la même (absence) sécurité qu'un code C.
"La première sécurité est la liberté"
[^] # Re: De l'inconvénient de ne pas utiliser les méthodes standard...
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Lisaac: sorti de la 0.39beta. Évalué à 2.
En fait, le binaire lisaac cherche un make.lip qui définit la manière de construire tes binaires. Je pense qu'il ne doit pas le trouver. Essayes de lancer le compilo dans le répertoire du make.lip.
Cela me rappelle un bug du style que l'install lisaac ne fonctionne pas en mode root mais seulement utilisateur. C'est peut-être ça.
"La première sécurité est la liberté"
[^] # Re: Surprise
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Lisaac: sorti de la 0.39beta. Évalué à 0.
"La première sécurité est la liberté"
[^] # Re: Surprise
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Lisaac: sorti de la 0.39beta. Évalué à 2.
Dans une certaines meure la gestion bas niveau des fichier fait aussi pour moi partit du runtime, mais je vais pas pinailler.
Là, je suis moins d'accord car il s'agit clairement de lib qui font des appels systèmes.
"La première sécurité est la liberté"
[^] # Re: Surprise
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Lisaac: sorti de la 0.39beta. Évalué à 2.
"La première sécurité est la liberté"
[^] # Re: Surprise
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Lisaac: sorti de la 0.39beta. Évalué à 2.
La sécurité ce n'est pas un exemple. C'est le seul qui s'applique. Et encore, cela concerne la sécurité concernant un code en qui tu n'as pas confiance. Cela ne concerne pas grand chose comme code. Il suffit de regarder ce qui tourne sur une workstation.
"La première sécurité est la liberté"
[^] # Re: Ah que merci
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Lisaac: sorti de la 0.39beta. Évalué à 2.
disons qu' un tel montage c'est du gros boulot :)
"La première sécurité est la liberté"
[^] # Re: Surprise
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Lisaac: sorti de la 0.39beta. Évalué à 2.
"La première sécurité est la liberté"
[^] # Re: Surprise
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Lisaac: sorti de la 0.39beta. Évalué à 2.
J'avais oublié le garbage collector qui est souvent dans le runtime. En Lisaac, il est en lib.
"La première sécurité est la liberté"
[^] # Re: Surprise
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Lisaac: sorti de la 0.39beta. Évalué à 3.
"La première sécurité est la liberté"
[^] # Re: Surprise
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Lisaac: sorti de la 0.39beta. Évalué à 2.
Le runtime va gérer la mécanique des exception pour gérer la pile correctement, il va gérer les droits sur les ios du programme pour gérer les protections type sandboxe., il va gérer les threads si il n'y a pas un mapping un pour un avec les threads noyau (runtime ada), et je dois en oublier.
"La première sécurité est la liberté"
[^] # Re: Surprise
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Lisaac: sorti de la 0.39beta. Évalué à 2.
"La première sécurité est la liberté"
[^] # Re: Surprise
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Lisaac: sorti de la 0.39beta. Évalué à 2.
"La première sécurité est la liberté"
[^] # Re: Surprise
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Lisaac: sorti de la 0.39beta. Évalué à 2.
Source ?
Cela parait totalement aberrant pour des raisons de trop grande lenteur de démarrage ou de performance ensuite.
L'avantage du jit est justement de pouvoir faire de la constante propagation en connaissant les données du programme, c'est comme ça que Sun arrive à faire des benchmark ou java est plus rapide que le C. En gros, le code est spécialisé en fonction des données, cela simplifie encore plus le cœur des boucles. En plus, si le langage d'origine n'est pas fortement typé, il y a un dispatch a faire très couteux à l'exécution en fonction des données, Dispatch qui disparait dans le cas d'un jit.
"La première sécurité est la liberté"
[^] # Re: Surprise
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Lisaac: sorti de la 0.39beta. Évalué à 2.
Pour la partie compilé, j'aime beaucoup comment il rende le code "rapide" : il change le langage !
The other major performance improvement added to JScript .NET is the introduction of Option Fast. This option tells the compiler to enforce certain rules that allow additionally optimizations, at the cost of some reduced functionality. When Option Fast is enabled, the following JScript behavior is activated:
* You must declare all variables.
* You cannot assign values to, or redefine, functions.
* You cannot assign to, or delete, predefined properties of the built-in JScript objects.
* You cannot add expando properties to the built-in objects.
* You must supply the correct number of arguments to function calls.
* The arguments property is not available within function calls.
The new Option Fast feature helps you write faster code, but it does change the behavior of the language—so just adding Option Fast to an existing JScript program may result in one or more compiler errors. Nevertheless, with some small changes to your program, you should see some significant performance improvements.
Il n'y a pas de phase d'interprétation, uniquement de la compilation.
Je veux bien une source. Car cela m'étonnerait qu'un .NET soit entièrement compilé avant utilisation, ce qui aurait des startup time catastrophique (ou des performances catastrophiques).
"La première sécurité est la liberté"
[^] # Re: Surprise
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Lisaac: sorti de la 0.39beta. Évalué à 1.
"La première sécurité est la liberté"