Faire un don ! | | style | statistiques | contactez-nous | plan | lettre d'information

Journal : Une nouvelle raison de refuser Microsoft openXML

Posté par Albert () le 11 juillet 2007
cette fois c'est devinez sur quoi? Les formules mathematiques dans Microsoft OpenXML. Et oui cela a tellement etait bien defini que c'est tout plein d'erreur, d'inconsistance et de manque.

Pour plus d'info je vous suggere d'aller voir ce lien:

http://www.robweir.com/blog/2007/07/formula-for-failure.html

Enfin pour ceux qui sont allergique a l'anglais. Quelques exemples marquant pris dans le lien ci-dessus:

- la fonction SIN, ils n'ont pas defini avec quel unite il fallait s'en servir et bon le resultat n'est pas le meme si l'on met des radians ou des degres.

- la fonction statistique ZTEST tel que defini dans les 6000 pages rendra un resultat faux par un melange dans les variables (8 autres fonctions statistique sont affectees par la meme erreur)

Enfin on va finir sur la conclusion de l'article precedent (la traduction va etre toute pourri mais bon):

"Ainsi que je l'ai montre (l'auteur de l'analyse), dans le fait d'avoir pousse a l'ecriture d'un standard de 6000 pages en moins d'un an, ECMA a ouvert la porte aux problemes. Les formules pour le tableur de OOXML sont pire que si elles etaient manquantes. Il y a des formules incorrectes, qui si elles sont implementees tel que decrites dans ce standard, vont faire apparaitre de serieux problemes mentaux, securitaire et environnemental, sans compter les risques financiers evidents d'avoir des calculs incorrectes. Ce standard a de serieux problemes. Honte a ceux qui encensait et continue de d'encenser les formules de OOXML sans avoir lu leurs definitions".

> Lire le journal (71 commentaires, moyenne: 3).  

Vous avez demandé le commentaire #850182.

Sinon, c'est peut être pas explicite, mais bon

Posté par Nicolas Schoonbroodt (Jabber id, page perso, ) le 11/07/2007 à 14:03. (lien). Évalué à 3.

Reprenons le texte de la fonction COS : (c'est là : http://www.ecma-international.org/news/TC45_current_work/Off(...) Open XML Part 4 - Markup Language Reference.pdf , page 2583) (la mise en page du copier coller n'est pas top, mais bon)

3.17.7.50 COS
Syntax:
COS ( x )
Description: Computes the cosine of x.
Arguments:
Name Type Description
x number The value whose cosine is to be determined.
Return Type and Value: number – The cosine of x.
[Example:
COS(-1) results in 0.540302306
COS(0) results in 1
COS(1) results in 0.540302306
end example]


Les valeurs de l'exemple ne laissent pas planer des masses de doutes, si tant est qu'on en ait avant.

--
[ Répondre ] Ce commentaire est-il impertinent ou utile ?
  • [^]Re: Sinon, c'est peut être pas explicite, mais bon

    Posté par Nicolas Schoonbroodt (Jabber id, page perso, ) le 11/07/2007 à 14:06. (lien). Évalué à 2.

    Honte sur moi, le lien c'est http://www.ecma-international.org/news/TC45_current_work/Off(...)

    --
    [ Répondre ] Ce commentaire est-il impertinent ou utile ?

    [^]Re: Sinon, c'est peut être pas explicite, mais bon

    Posté par Albert () le 11/07/2007 à 14:08. (lien). Évalué à 2.

    donc il faut "deviner" a partir des exemples la bonne unite? Et pour les fonctions statistique il faut "deviner" la correction parceque il est "evident" que c'est faux ce qu'ils ont defini?

    C'est curieux comme on trouve des personnes pour defendre becs et ongles des defauts manifestes. A ce niveau la c'est plus de la religion qu'autre chose!

    • [^]Re: Sinon, c'est peut être pas explicite, mais bon

      Posté par Nicolas Schoonbroodt (Jabber id, page perso, ) le 11/07/2007 à 14:16. (lien). Évalué à 2.

      À mon avis, s'ils avaient précisé que le sinus était en radian, on aurait eu certaines personnes pour dire : "Mais enfin, c'est évident, pour quoi ils précisent ça ? Et en plus à cause de ça la spécification fait 6001 pages plutôt que 6000 !"

      --
      [ Répondre ] Ce commentaire est-il impertinent ou utile ?
      • [^]Re: Sinon, c'est peut être pas explicite, mais bon

        Posté par eastwind (Jabber id, ) le 11/07/2007 à 14:37. (lien). Évalué à 5.

        À mon avis, s'ils avaient précisé que le sinus était en radian, on aurait eu certaines personnes pour dire : "Mais enfin, c'est évident, pour quoi ils précisent ça ? Et en plus à cause de ça la spécification fait 6001 pages plutôt que 6000 !"


        s'il faut une page pour définir une unité , ca m'étonne pas que ca fait 6000 pages ..

        cela fait un argument de plus contre l openxml , non seuleemnt ils ne savent pas définir correcteement les normes , mais en plus il ne save pas les rédiger correctement ...

        [^]Re: Sinon, c'est peut être pas explicite, mais bon

        Posté par ndesmoul () le 11/07/2007 à 14:55. (lien). Évalué à 5.

        Une norme n'est pas faite pour être un joliment rédigée. Elle doit être explicite et donner toutes les informations nécessaires, même si ça implique un texte lourd et certaines répétitions.
        Si tu dois procéder à un travail de déduction (voir d'interprétation) pour savoir comment implémenter une norme c'est qu'elle est mal rédigée. Point barre.

        Je ne dis pas que ce genre de problème est rare. Rédiger une bonne norme est loin d'être évident. Mais en l'occurrence indiquer l'unité utilisée (radian ou degré) serait tout de même un minimum, même si c'est évident pour certains (mais pas forcément pour tout le monde).

        Enfin, d'après l'article ce n'est pas le moindre des soucis relevés.

        D'ailleurs vu que cet aspect de la normalisation est toujours en cours pour l'ODF je me demande comment ils procèdent actuellement avec OpenOffice et KOffice.

        • [^]Re: Sinon, c'est peut être pas explicite, mais bon

          Posté par Thomas DEBESSE (page perso, ) le 11/07/2007 à 15:04. (lien). Évalué à 5.


          Mais en l'occurrence indiquer l'unité utilisée (radian ou degré) serait tout de même un minimum, même si c'est évident pour certains (mais pas forcément pour tout le monde).

          Au lycée je me tapais des 1 et des 2/20 parceque j'oubliais de spécifier l'unité dans mes résultats, et autres détails "évidents" du genre, même avec une logique correcte et des calculs bons.

          Ah si ça devait passer par mon non-regretté prof de physique pour tout ce qui est validation & co, on n'en serait pas là !

          --
          † In te confirmátus sum ex útero : de ventre matris meæ tu es protéctor meus.
          • [^]Re: Sinon, c'est peut être pas explicite, mais bon

            Posté par aedrin () le 11/07/2007 à 16:20. (lien). Évalué à 0.

            oui mais non...

            1 est différent de 1 m et tout aussi différent de 1 kg.m^-1.s^-2
            à chaque fois tu as des dimensions différentes (au sens http://fr.wikipedia.org/wiki/Analyse_dimensionnelle )

            mais 1 kg.m^-1.s^-2 = 1 Pa = 10^-5 bar = 0.00751 torr
            la j'utilise 3 unités différentes pour la même dimension

            pour revenir aux angles, ce sont des nombres adimensionnels (ce sont des rapports de longueur)
            on a pi rad = 180 deg = 200 grades

            mais le radian est la seule unité d'angle qui permet de garder les propriétés mathématiques des fonctions trigonométriques (sin t ~ t pour t petit, cos t + i*sin t = e^it, développement en série, polynômes de tchebyshev, etc.)

            ce qui permet d'écrire allègrement 1 rad = 1 (nombre réel)

            donc oui, on utilise toujours le rad comme unité privilégiée d'angle dans tout ce qui est plus ou moins scientifique...

            tout le reste n'est que sodoculage de méca-mouche ou veine tentative de troll...

            • [^]Re: Sinon, c'est peut être pas explicite, mais bon

              Posté par Sytoka Modon (page perso, ) le 11/07/2007 à 17:33. (lien). Évalué à 6.

              > ce qui permet d'écrire allègrement 1 rad = 1 (nombre réel)

              En pratique, toutes les fonctions mathématiques un tant soit peu compliquées doivent être adimentionnelles, c'est à dire sans unité. En effet, il n'y a en général aucun sens physique à, par exemple sinus(metres) ! On n'aditionne pas non plus les choux et les carrotes... Les opérations qui acceptent bien les unités sont la multiplication et la division.

              Donc les radians, c'est du vide, RIEN. On écrit 1 rad pour rappeller que cela correspond à un angle mais les radians ne sont pas une unité dimentionnelle. Si tu veux que le radiasn soit une vrai mesure, il faut écrire

              result = sin ( mon_angle_en_radian / 1 rad)

              En effet, il ne faut pas de mesure dans la formule finale.

              Ce n'est pas la seule dans ce cas là. Il y a aussi les décibels qui sont définit à partir du logarithme.

              Ensuite, il y a pas mal d'opération ou il faut normalement divisé par une valeur dimentionnelle, parfois 1, pour supprimer les unités avant la fonction mathématique. C'est le cas pour les décibels, j'ai le vague souvenir que c'est aussi le cas en ph-métrie.

              L'analyse dimentionnelle d'une formule est hyper importante, cela permet d'éviter plein d'erreur.

              • [+] [^]Re: Sinon, c'est peut être pas explicite, mais bon

                Posté par aedrin () le 11/07/2007 à 18:02. (lien). Évalué à -1.

                Donc les radians, c'est du vide, RIEN. On écrit 1 rad pour rappeller que cela correspond à un angle mais les radians ne sont pas une unité dimentionnelle.


                oui c'est exactement ce que je dis ici
                pour revenir aux angles, ce sont des nombres adimensionnels (ce sont des rapports de longueur)


                on est donc d'accord tous les deux ;-)

                ce que j'affirme, c'est que par définition le radian a été choisi de telle manière que les fonctions trigonométriques (au sens mathématique) soient valables sans avoir besoin de traîner un coefficient devant.

                Toutes les unités (au sens physique) d'angle sont toutes adimensionnelles mais le radian est la seule telle que "dsin(t)/dt = cos(t)" pour t exprimé en radians

              [^]Re: Sinon, c'est peut être pas explicite, mais bon

              Posté par Brice Arnould ( un_brice ) (page perso, ) le 11/07/2007 à 17:37. (lien). Évalué à 1.

              sin t ~ t pour t petit, cos t + i*sin t = e^it, développement en série, polynômes de tchebyshev, etc.)
              Hum :-P
              Étant donné z = Pi/180, alors
              sin(t) ~ t pour t petit implique sin(t/z) ~ t/z pour t/z petit
              cos(t/z) + i * sin(t/z) = e^(i*t/z)

              Ms office semble travailler par défaut avec des degrés, et à vrai dire je serais surpris d'apprendre qu'il convertit intelligement avant stockage, en fonction du nom de la fonction.
              Faudrais ouvrir un de ces fichiers pour statuer, mais je pense que c'est la locale du document qui détermine le format.

              Et pourquoi j'parle de ça ici moi ?

              --
              Respect à RMS.

          [^]Re: Sinon, c'est peut être pas explicite, mais bon

          Posté par Nicolas Schoonbroodt (Jabber id, page perso, ) le 11/07/2007 à 15:09. (lien). Évalué à 0.

          Une norme n'est pas faite pour être un joliment rédigée. Elle doit être explicite et donner toutes les informations nécessaires, même si ça implique un texte lourd et certaines répétitions.
          Si tu dois procéder à un travail de déduction (voir d'interprétation) pour savoir comment implémenter une norme c'est qu'elle est mal rédigée. Point barre.

          Oui, dans ce cas, on peut aussi critiquer le fait que leur définition de sinus soit vague. Franchement, je ne suis pas sur qu'un enfant de trois mois soit capable de comprendre "Computes the cosine of x". C'est pas défini dans le document, le cosinus ! Donc la personne doit se renseigner sur ce que c'est le cosinus. Donc il doit effectuer un travail de déduction voir d'interprétation, que l'on précise l'unité ou non.

          --
          [ Répondre ] Ce commentaire est-il impertinent ou utile ?
          • [^]Re: Sinon, c'est peut être pas explicite, mais bon

            Posté par briaeros007 () le 11/07/2007 à 15:16. (lien). Évalué à 2.

            comment dire ... l'amour rend aveugle ?

            Ou alors etre vraiment de mauvaise foi.

            Mais bon tu vas nous expliquer que si on explique que 'additionner deux distances quelconques et ce pour un produit a destination de tout le globe' si on ose émettre le fait qu'il faut prendre en compte les pouces tu vas d'abord nous répliquer 'le mètre c'est évident, pas besoin de préciser"
            et si on ose continuer sur cette voie tu vas nous dire 'quoi définir ? je vais pas définir l'addition non plus!'

            Je rapelle qu'un module non habité c'est écrasé sur mars a cause de 'cette évidence' , et que les opérations mathématiques basiques SONT DEJA DEFINIES, PAS LEURS DONNEES EN ENTREES.

            --
            Subete ga wakatta toki…watashi ga anta wo korosu.
            • [^]Re: Sinon, c'est peut être pas explicite, mais bon

              Posté par Nicolas Schoonbroodt (Jabber id, page perso, ) le 11/07/2007 à 15:25. (lien). Évalué à 4.

              comment dire ... l'amour rend aveugle ?

              Ou alors etre vraiment de mauvaise foi.

              La haine aussi, apparemment.

              --
              [ Répondre ] Ce commentaire est-il impertinent ou utile ?
              • [^]Re: Sinon, c'est peut être pas explicite, mais bon

                Posté par briaeros007 () le 11/07/2007 à 18:37. (lien). Évalué à 1.

                une haine argumentée elle ...
                pas un 'mais vous racontez n'importe quoi. Faut tout definir dans ses moindres détails ou rien du tout.

                Si vous venez me faire des reflexions sur mes unités, redefinissait l'ensemble (groupe anneau toussa) dans lequel vous travaillez'.

                ensuite savoir que tu adore ooxml je m'en taponne le coquillard, donc on peut difficilement dire que c'est de la haine.

                Par contre les attaques ad hominem creuse ca marche bien chez toi visiblement.

                --
                Subete ga wakatta toki…watashi ga anta wo korosu.
                • [^]Re: Sinon, c'est peut être pas explicite, mais bon

                  Posté par Nicolas Schoonbroodt (Jabber id, page perso, ) le 12/07/2007 à 09:57. (lien). Évalué à 1.

                  Par contre les attaques ad hominem creuse ca marche bien chez toi visiblement.
                  Ravi d'être vu de la sorte par un spécialiste de la question.

                  --
                  [ Répondre ] Ce commentaire est-il impertinent ou utile ?
                  • [+] [^]Re: Sinon, c'est peut être pas explicite, mais bon

                    Posté par briaeros007 () le 12/07/2007 à 12:30. (lien). Évalué à -1.

                    C'est trop de flatterie, je n'atteindrais jamais ton niveau.

                    --
                    Subete ga wakatta toki…watashi ga anta wo korosu.

      [^]Re: Sinon, c'est peut être pas explicite, mais bon

      Posté par tripa () le 11/07/2007 à 14:16. (lien). Évalué à 3.

      Défendre un point n'a jamais signifié qu'on approuvait les autres.

    [^]Re: Sinon, c'est peut être pas explicite, mais bon

    Posté par briaeros007 () le 11/07/2007 à 14:59. (lien). Évalué à 6.

    quand on sait que plus de 10% des exemples xml de la norme ne sont pas valides, c'est pas parce que c'est en exemple que c'est bon.
    Et un exemple ne fait pas office de norme, il donne une POSSIBILITE D'IMPLEMENTATION.
    Quelqu'un qui dis 'pour moi c'est des dégrés' il aurait bon : tu vois le mot radian quelque part ?
    Tu vois juste un exemple qui se base sur des radians, nuance.

    --
    Subete ga wakatta toki…watashi ga anta wo korosu.