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".
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
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)
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
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
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
À 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
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
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
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
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
> 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
oui c'est exactement ce que je dis ici
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
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
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
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
La haine aussi, apparemment.
[ Répondre ] Ce commentaire est-il impertinent ou utile ?
[^]Re: Sinon, c'est peut être pas explicite, mais bon
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
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
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
Défendre un point n'a jamais signifié qu'on approuvait les autres.
[^]Re: Sinon, c'est peut être pas explicite, mais bon
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.