IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Les virgules bloquent Twitter sur Opera


Sujet :

JavaScript

  1. #41
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Points : 28 119
    Points
    28 119
    Par défaut
    Citation Envoyé par Bousk Voir le message
    La question que je me pose est:
    n'est-ce pas dangeureux et encourager les développeurs js à continuer à faire de la merde que de permettre cette syntaxe des plus fantaisistes et patcher en ce sens leur interpréteur ?
    Si, cette syntaxe est a proscrire dans tous les cas. Mais tu ne peux pas interdire aux developpeurs de faire des aneries. C'est en ce sens que les developpeurs de l'interpreteur doivent faire de la programmation defensive : on se premunit de toutes les conneries possibles des utilisateurs (ici, ceux qui ecrivent le code a interpreter).
    C'est lourd, c'est chiant, mais c'est le seul moyen pour avoir un code coherent.
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

  2. #42
    Membre éclairé Avatar de rt15
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2005
    Messages
    262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 262
    Points : 665
    Points
    665
    Par défaut
    Citation Envoyé par thelvin Voir le message
    Et ça ne résout pas le problème. Les processeurs différents ont des caches différents. Si l'un d'eux indique dans son cache que la mémoire est libérée et que le pointeur est NULL, l'autre ne le verra pas dans le sien. Et ces deux informations peuvent porter sur plusieurs parties du cache : l'une peut être vue avant l'autre (et même pas dans le bon ordre.)
    Sans aucune instruction de synchronisation de cache, il n'y a pas de solution.
    Non pas de souci à ce niveau tout du moins sur PC. Si on écrit quelque chose à l'adresse X, alors toute lecture de la même adresse depuis un autre thread s'exécutant sur un autre coeur (Du même processeur ou d'un autre) renvoie bien la valeur qui vient d'être écrite.
    Cela est dû au fait que la cohérence des caches est garantit sur les x86 au niveau hardware. Les constructeurs utilisent des protocoles de cohérence de cache. Papier sur le sujet ici.

  3. #43
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Citation Envoyé par rt15 Voir le message
    Non pas de souci à ce niveau tout du moins sur PC. Si on écrit quelque chose à l'adresse X, alors toute lecture de la même adresse depuis un autre thread s'exécutant sur un autre coeur (Du même processeur ou d'un autre) renvoie bien la valeur qui vient d'être écrite.
    Cela est dû au fait que la cohérence des caches est garantit sur les x86 au niveau hardware. Les constructeurs utilisent des protocoles de cohérence de cache. Papier sur le sujet ici.
    Ce qui signifie qu'il y a instruction de synchronisation permanente.
    Bon, je ne le savais pas, Merci. Je m'imaginais le problème géré différemment, mais mes cours de système d'exploitation ne sont plus tout neufs.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #44
    Membre actif Avatar de Crazyfaboo
    Homme Profil pro
    Software Engineer
    Inscrit en
    Août 2004
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Software Engineer

    Informations forums :
    Inscription : Août 2004
    Messages : 89
    Points : 244
    Points
    244
    Par défaut
    Apparemment, l'opérateur virgule sert donc à quelque chose en C, même si ça reste encore flou je trouve.
    Par contre, en JavaScript, je vois vraiment pas l'intérêt, un exemple un peu utile donné sur ce site :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function nextFibonacci() {
      next = a + b;
      return b = (a = b, next);
    }
    mais y'a pas plus de caractères (une fois les sauts de lignes retirés, ce que tout minifieur fera) avec :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function nextFibonacci() {
      next = a + b;
      a = b;
      return b = next;
    }
    Y'en a même moins, vu qu'on se passe des parenthèses. Et la syntaxe est plus accessible.

    Et l'autre exemple, un poil plus utile :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function getRandomPrime() {
      while(n = Math.round(Math.random()*1000000000), !isPrime(n));
      return n;
    }
    au lieu d'un plus classique :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function getRandomPrime() {
      do
        n = Math.round(Math.random()*1000000000);
      while (!isPrime(n));
      return n;
    }
    Où là on perd 2 caractères pour avoir tapé le do.

    Je suis pas du tout convaincu de l'utilité de cet opérateur (j'ai pas lu tout l'article non plus encore...).

Discussions similaires

  1. Les virgules bloquent Twitter sur Opera
    Par Hinault Romaric dans le forum Actualités
    Réponses: 43
    Dernier message: 25/07/2012, 09h57
  2. Réponses: 1
    Dernier message: 02/11/2011, 01h12
  3. [JavaScript] Petit script pour afficher les tweets de Twitter sur votre site
    Par Immobilis dans le forum Contribuez
    Réponses: 0
    Dernier message: 20/08/2011, 18h24
  4. afficher les commentaire de twitter sur mon blog
    Par hammachat dans le forum ASP.NET
    Réponses: 0
    Dernier message: 28/01/2011, 10h24
  5. Trier les nombres d'une variable sur les virgules
    Par Emotion dans le forum Langage
    Réponses: 2
    Dernier message: 27/09/2007, 14h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo