Nicolas Boulay a écrit 15824 commentaires

  • [^] # Re: Surprise

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

    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.

    "La première sécurité est la liberté"

  • [^] # Re: Surprise

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

    C'est vrai mais cela ne va pas bien loin et ce n'est pas forcément utile.

    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  (site web personnel) . En réponse au journal Lisaac: sorti de la 0.39beta. Évalué à 2.

    Je suis d'accord. Concernant le C, c'est uniquement le crt0.s. En gros, 5 lignes d'assembleur.

    "La première sécurité est la liberté"

  • [^] # Re: Surprise

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

    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.

    "La première sécurité est la liberté"

  • [^] # Re: Ah que merci

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

    pour le 1) tu as raison. Le pdf est présent au dessus des vidéos.

    disons qu' un tel montage c'est du gros boulot :)

    "La première sécurité est la liberté"

  • [^] # Re: Surprise

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

    C'est d'ailleurs la grosse supériorité de tout pouvoir mettre en lib.

    "La première sécurité est la liberté"

  • [^] # Re: Surprise

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

    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.

    "La première sécurité est la liberté"

  • [^] # Re: Surprise

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

    Il faudrait encore être sur que javascript soit réellement un langage à prototype.

    "La première sécurité est la liberté"

  • [^] # Re: Surprise

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

    Ce que tu décris c'est de la 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.

    "La première sécurité est la liberté"

  • [^] # Re: Surprise

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

    C'est possible, mais tu perds en performance et tu perds en consommation mémoire.

    "La première sécurité est la liberté"

  • [^] # Re: Surprise

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

    Oui mais ce n''est plus vraiment le même langage.

    "La première sécurité est la liberté"

  • [^] # Re: Surprise

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

    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.

    "La première sécurité est la liberté"

  • [^] # Re: Surprise

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

    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).

    "La première sécurité est la liberté"

  • [^] # Re: Surprise

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

    Je soupçonne soit de la mauvaise fois, soit une volonté trollifère.

    "La première sécurité est la liberté"

  • [^] # Re: Surprise

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

    Le seul projet qui ressemble vaguement à la description de JS -> java, c'est phobos de SUN. C'est un framework pour faire marcher du JS avec les lib java. Rien à voir avec un compilateur.


    The JavaScript engine in Phobos is based on the one in the Java Platform, Standard Edition 6 (Java SE 6), code-named Mustang, and it uses Mozilla Rhino for its operations. Compared to the JavaScript engine in Mustang, the one in Phobos has these additional capabilities:

    * Support for the JavaScript language extensions for XML (E4X)
    * Compilation to bytecode
    * Ability to subclass Java classes (subject to any security limitations specific to a platform)
    * Extensible top-level functionality
    https://phobos.dev.java.net/overview.html


    Rhino is an open-source implementation of JavaScript written entirely in Java. It is typically embedded into Java applications to provide scripting to end users.
    http://www.mozilla.org/rhino/


    Parce que par exemple, il y a énormément de projet en JS alors qu'en Lissac... :)


    Linux doit être de la merde alors devant le nombre de projet windows.

    En tout cas j'adore voir autant de gens essayer de prouver qu'un projet open source n'est pas innovant quand il l'est. Cela doit être très français de vouloir tout dénigrer.

    "La première sécurité est la liberté"

  • [^] # Re: Surprise

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

    Même le C embarque la stdlib, et Lisaac n'est pas une exception.

    Une lib est un runtime maintenant, il te reste encore d'autre argument avec autant de mauvaise fois ? (En plus à terme, Lisaac pourra se passer de la lib C.)

    "La première sécurité est la liberté"

  • [^] # Re: Surprise

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

    Je ne vais pas admettre un truc parce que tu en change en la définition.

    Tu ne peux pas comparer la taille d'un runtime C avec celui de .NET.

    C'est facile pour n'importe quel jit de sauver les parties de binaires converti. Il reste tout de même une énorme part d'interprétation. C'est obligatoire par exemple pour garder fonctionnel tous les mécanismes de sécurité, si le code est "purement natif" comme un code compilé, il peut faire ce qu'il veut.

    "La première sécurité est la liberté"

  • [^] # Re: Surprise

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

    Un truc .NET sans VM. J'avais un doute. NGEN génère le contenu des caches du JIT, mais rien ne dit qu'il n'y a pas avec un lourd runtime.

    "Ngen.exe crée des images natives, lesquelles sont des fichiers qui contiennent le code machine spécifique au processeur compilé et les installent dans le cache des images natives sur l'ordinateur local. Le runtime peut utiliser à la place des images natives du cache à l'aide du compilateur juste-à-temps (JIT) pour compiler l'assembly d'origine."

    Si je comprends bien la mauvaise traduction de msdn, le runtime est toujours présent.

    Je serais curieux de voir la taille de ses images.

    "La première sécurité est la liberté"

  • [^] # Re: Surprise

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

    Sauf qu'en jit tu as les données, et tu as aussi une exécution en mode interprété pour compiler les bouts de code intéressant.

    "La première sécurité est la liberté"

  • [^] # Re: Surprise

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

    Non cela n'a rien à voir. Au runtime, tu as plein d'information sur les données. Par exemple, tracemonkey ne compile que les coeurs de boucle qu'il détecte.

    De plus, javascript n'est pas un vrai langage à prototype mais je ne serais plus dire pourquoi :)

    "La première sécurité est la liberté"

  • [^] # Re: Surprise

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

    Le modèle cop gère ça par définition d'espace de mémoire par rapport à un prototype. Donc, chaque proto appartient à son domaine.

    Un même proto ne peut pas écrire dans 2 threads différents. En gros, si tu refiles à un proto en paramètre à un autre thread il devient read only.

    "La première sécurité est la liberté"

  • [^] # Re: langage à prototype compilé

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

    Il n'est pas compilé.

    "La première sécurité est la liberté"

  • [^] # Re: Surprise

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

    Lisaac est un langage "pure" à prototype et pas mixte comme Java. Il est à prototype compilé (c'est le seul). Il gère les données au même niveau que les fonctions sans être obligé de tout définir comme une fonction. Il gère l'héritage multiple et dynamique. Il a un typage fort malgré toutes ces fonctionnalités. Et il a de bonnes perfs.

    Mais tout cela est déjà écrit dans le journal.

    "La première sécurité est la liberté"

  • [^] # Re: Surprise

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

    Je peux aussi dire que Lisp est l'état de l'art de 1958, quand lisaac est celui de 2005.

    "La première sécurité est la liberté"

  • [^] # Re: Surprise

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

    Sauf que tu n'as pas comme Lisp, une cascade de parenthèse à gérer.

    "La première sécurité est la liberté"