Jean-Marc Bourguet wrote:Laurent Deniau writes:Et pourquoi veux-tu mettre toutes ces balises?
Si je comprends bien, tu es en train de dire qu'il y a moyen de
detourner XML? Nous sommes d'accord, c'est une solution si XML est
impose par quelqu'un qui s'y connait vraiment pas.
Pas seulement, je dis aussi que l'on peut mettre le strict minimum
pour que la serialisation puisse reconstruire les objets tout en
etant compatible avec XML. A quoi ca sert que XML sache qu'un
complexe a une partie reelle et une partie imaginaire si tu ne veux
pas ecrire faire de calcul avec. Et meme a quoi ca sert que XML
sache que l'objet serialise entre les balises soit un complexe?
Jean-Marc Bourguet wrote:
Laurent Deniau <Laurent.Deniau@cern.ch> writes:
Et pourquoi veux-tu mettre toutes ces balises?
Si je comprends bien, tu es en train de dire qu'il y a moyen de
detourner XML? Nous sommes d'accord, c'est une solution si XML est
impose par quelqu'un qui s'y connait vraiment pas.
Pas seulement, je dis aussi que l'on peut mettre le strict minimum
pour que la serialisation puisse reconstruire les objets tout en
etant compatible avec XML. A quoi ca sert que XML sache qu'un
complexe a une partie reelle et une partie imaginaire si tu ne veux
pas ecrire faire de calcul avec. Et meme a quoi ca sert que XML
sache que l'objet serialise entre les balises soit un complexe?
Jean-Marc Bourguet wrote:Laurent Deniau writes:Et pourquoi veux-tu mettre toutes ces balises?
Si je comprends bien, tu es en train de dire qu'il y a moyen de
detourner XML? Nous sommes d'accord, c'est une solution si XML est
impose par quelqu'un qui s'y connait vraiment pas.
Pas seulement, je dis aussi que l'on peut mettre le strict minimum
pour que la serialisation puisse reconstruire les objets tout en
etant compatible avec XML. A quoi ca sert que XML sache qu'un
complexe a une partie reelle et une partie imaginaire si tu ne veux
pas ecrire faire de calcul avec. Et meme a quoi ca sert que XML
sache que l'objet serialise entre les balises soit un complexe?
Oui, yapluka l'écrire, et probablement le refaire (ou le modifier)
pour chaque nouveau projet, si les contraintes sont différentes...
C'est là dessus le mauvais point d'XML dans mon expérience. Un
parseur
classique, en cas de modification des classes, demande à modifier :
- La classe
- Les fichiers de données
- Le code qui parse
Ce qui en exploitation se traduit par un programme et un fichier.
Un parseur XML demande lui de modifier :
- La classe
- Les fichiers de données
- Le code qui parse
- Les schéma
Ce qui en exploitation se traduit par un programme et deux fichiers.
Donc, pour le développeur ou la personne qui déploie, il est moins
facile à modifier. On l'a clairement expérimenté au boulot.
Peut-être que vous n'aviez pas les bons outils?
Si on devait
reprende ce programme, le remplacement de ce format de fichier par un
truc issu de boost::serialisation serait certainement l'une des
premières étapes. En terme de pocker, XML, on a payé pour voir,
c'était
du bluff.
Mais, cela peut être aussi le cas de mon propre format ASCII (AWK,
Perl, ...).
On parle de C++, non ?| L'idiome qui va permettre à un autre développeur de comprendre
| immédiatement ce qui a été fait ?
Mais cela peut être aussi le cas de mon propre format ASCII.
Entre ton format ASCII maison (aussi bien conçu soit-il), et un
standard du W3C, il n'y a pas photo pour ce qui est de la facilité
de
trouver un développeur compétent et capable de réutiliser
facilement
le format...
Oui, je pense que le format maison est largement gagnant.
Ta réaction me fait un peu penser aux gens qui disent "à quoi ca
sert
std::vector, je peux très bien faire mes tableaux à la main".
Certes
on peut tout faire à la main, maintenant quand est-ce que c'est
rentable/intéressant, et quand est-ce qu'on a intérêt a choisir
une
solution "standard", éprouvée et déjà faite...
Lex et Yacc sont plus éprouvé qu'XML.
Oui, yapluka l'écrire, et probablement le refaire (ou le modifier)
pour chaque nouveau projet, si les contraintes sont différentes...
C'est là dessus le mauvais point d'XML dans mon expérience. Un
parseur
classique, en cas de modification des classes, demande à modifier :
- La classe
- Les fichiers de données
- Le code qui parse
Ce qui en exploitation se traduit par un programme et un fichier.
Un parseur XML demande lui de modifier :
- La classe
- Les fichiers de données
- Le code qui parse
- Les schéma
Ce qui en exploitation se traduit par un programme et deux fichiers.
Donc, pour le développeur ou la personne qui déploie, il est moins
facile à modifier. On l'a clairement expérimenté au boulot.
Peut-être que vous n'aviez pas les bons outils?
Si on devait
reprende ce programme, le remplacement de ce format de fichier par un
truc issu de boost::serialisation serait certainement l'une des
premières étapes. En terme de pocker, XML, on a payé pour voir,
c'était
du bluff.
Mais, cela peut être aussi le cas de mon propre format ASCII (AWK,
Perl, ...).
On parle de C++, non ?
| L'idiome qui va permettre à un autre développeur de comprendre
| immédiatement ce qui a été fait ?
Mais cela peut être aussi le cas de mon propre format ASCII.
Entre ton format ASCII maison (aussi bien conçu soit-il), et un
standard du W3C, il n'y a pas photo pour ce qui est de la facilité
de
trouver un développeur compétent et capable de réutiliser
facilement
le format...
Oui, je pense que le format maison est largement gagnant.
Ta réaction me fait un peu penser aux gens qui disent "à quoi ca
sert
std::vector, je peux très bien faire mes tableaux à la main".
Certes
on peut tout faire à la main, maintenant quand est-ce que c'est
rentable/intéressant, et quand est-ce qu'on a intérêt a choisir
une
solution "standard", éprouvée et déjà faite...
Lex et Yacc sont plus éprouvé qu'XML.
Oui, yapluka l'écrire, et probablement le refaire (ou le modifier)
pour chaque nouveau projet, si les contraintes sont différentes...
C'est là dessus le mauvais point d'XML dans mon expérience. Un
parseur
classique, en cas de modification des classes, demande à modifier :
- La classe
- Les fichiers de données
- Le code qui parse
Ce qui en exploitation se traduit par un programme et un fichier.
Un parseur XML demande lui de modifier :
- La classe
- Les fichiers de données
- Le code qui parse
- Les schéma
Ce qui en exploitation se traduit par un programme et deux fichiers.
Donc, pour le développeur ou la personne qui déploie, il est moins
facile à modifier. On l'a clairement expérimenté au boulot.
Peut-être que vous n'aviez pas les bons outils?
Si on devait
reprende ce programme, le remplacement de ce format de fichier par un
truc issu de boost::serialisation serait certainement l'une des
premières étapes. En terme de pocker, XML, on a payé pour voir,
c'était
du bluff.
Mais, cela peut être aussi le cas de mon propre format ASCII (AWK,
Perl, ...).
On parle de C++, non ?| L'idiome qui va permettre à un autre développeur de comprendre
| immédiatement ce qui a été fait ?
Mais cela peut être aussi le cas de mon propre format ASCII.
Entre ton format ASCII maison (aussi bien conçu soit-il), et un
standard du W3C, il n'y a pas photo pour ce qui est de la facilité
de
trouver un développeur compétent et capable de réutiliser
facilement
le format...
Oui, je pense que le format maison est largement gagnant.
Ta réaction me fait un peu penser aux gens qui disent "à quoi ca
sert
std::vector, je peux très bien faire mes tableaux à la main".
Certes
on peut tout faire à la main, maintenant quand est-ce que c'est
rentable/intéressant, et quand est-ce qu'on a intérêt a choisir
une
solution "standard", éprouvée et déjà faite...
Lex et Yacc sont plus éprouvé qu'XML.
Laurent Deniau writes:
Pas seulement, je dis aussi que l'on peut mettre le strict minimum
pour que la serialisation puisse reconstruire les objets tout en
etant compatible avec XML. A quoi ca sert que XML sache qu'un
complexe a une partie reelle et une partie imaginaire si tu ne veux
pas ecrire faire de calcul avec. Et meme a quoi ca sert que XML
sache que l'objet serialise entre les balises soit un complexe?
A quoi ca sert d'utiliser XML si la structure n'est pas decrite en XML
a par remplir des contraintes formelles stupides? C'est exactement ce
que j'appelle du detournement.
Comme son nom l'indique (Markup Language) l'origine d'XML est de
l'annotation et de la structuration de texte.
Laurent Deniau <Laurent.Deniau@cern.ch> writes:
Pas seulement, je dis aussi que l'on peut mettre le strict minimum
pour que la serialisation puisse reconstruire les objets tout en
etant compatible avec XML. A quoi ca sert que XML sache qu'un
complexe a une partie reelle et une partie imaginaire si tu ne veux
pas ecrire faire de calcul avec. Et meme a quoi ca sert que XML
sache que l'objet serialise entre les balises soit un complexe?
A quoi ca sert d'utiliser XML si la structure n'est pas decrite en XML
a par remplir des contraintes formelles stupides? C'est exactement ce
que j'appelle du detournement.
Comme son nom l'indique (Markup Language) l'origine d'XML est de
l'annotation et de la structuration de texte.
Laurent Deniau writes:
Pas seulement, je dis aussi que l'on peut mettre le strict minimum
pour que la serialisation puisse reconstruire les objets tout en
etant compatible avec XML. A quoi ca sert que XML sache qu'un
complexe a une partie reelle et une partie imaginaire si tu ne veux
pas ecrire faire de calcul avec. Et meme a quoi ca sert que XML
sache que l'objet serialise entre les balises soit un complexe?
A quoi ca sert d'utiliser XML si la structure n'est pas decrite en XML
a par remplir des contraintes formelles stupides? C'est exactement ce
que j'appelle du detournement.
Comme son nom l'indique (Markup Language) l'origine d'XML est de
l'annotation et de la structuration de texte.
Gabriel Dos Reis wrote:
Mais cela dépend de mon propre format ASCII : est-il plus
simple d'utiliser ton validateur DTD que mon propre
vérificateur de format qui eput Être de loin plus simple
selon mon propre format ASCII ? Mon propre vérificateur peut
être aussi auto-correcteur ou non redondant.
Oui, yapluka l'écrire, et probablement le refaire (ou le
modifier) pour chaque nouveau projet, si les contraintes sont
différentes...
Entre ton format ASCII maison (aussi bien conçu soit-il), et
un standard du W3C, il n'y a pas photo pour ce qui est de la
facilité de trouver un développeur compétent et capable de
réutiliser facilement le format...
Bref.
Ta réaction me fait un peu penser aux gens qui disent "à quoi
ca sert std::vector, je peux très bien faire mes tableaux à la
main".
Certes on peut tout faire à la main, maintenant quand est-ce
que c'est rentable/intéressant, et quand est-ce qu'on a
intérêt a choisir une solution "standard", éprouvée et déjà
faite...
Gabriel Dos Reis wrote:
Mais cela dépend de mon propre format ASCII : est-il plus
simple d'utiliser ton validateur DTD que mon propre
vérificateur de format qui eput Être de loin plus simple
selon mon propre format ASCII ? Mon propre vérificateur peut
être aussi auto-correcteur ou non redondant.
Oui, yapluka l'écrire, et probablement le refaire (ou le
modifier) pour chaque nouveau projet, si les contraintes sont
différentes...
Entre ton format ASCII maison (aussi bien conçu soit-il), et
un standard du W3C, il n'y a pas photo pour ce qui est de la
facilité de trouver un développeur compétent et capable de
réutiliser facilement le format...
Bref.
Ta réaction me fait un peu penser aux gens qui disent "à quoi
ca sert std::vector, je peux très bien faire mes tableaux à la
main".
Certes on peut tout faire à la main, maintenant quand est-ce
que c'est rentable/intéressant, et quand est-ce qu'on a
intérêt a choisir une solution "standard", éprouvée et déjà
faite...
Gabriel Dos Reis wrote:
Mais cela dépend de mon propre format ASCII : est-il plus
simple d'utiliser ton validateur DTD que mon propre
vérificateur de format qui eput Être de loin plus simple
selon mon propre format ASCII ? Mon propre vérificateur peut
être aussi auto-correcteur ou non redondant.
Oui, yapluka l'écrire, et probablement le refaire (ou le
modifier) pour chaque nouveau projet, si les contraintes sont
différentes...
Entre ton format ASCII maison (aussi bien conçu soit-il), et
un standard du W3C, il n'y a pas photo pour ce qui est de la
facilité de trouver un développeur compétent et capable de
réutiliser facilement le format...
Bref.
Ta réaction me fait un peu penser aux gens qui disent "à quoi
ca sert std::vector, je peux très bien faire mes tableaux à la
main".
Certes on peut tout faire à la main, maintenant quand est-ce
que c'est rentable/intéressant, et quand est-ce qu'on a
intérêt a choisir une solution "standard", éprouvée et déjà
faite...
| ... mais parce que l'on va y trouver toute une panoplie de
| services que l'on aurait bien du mal à réécrire soi même.
*si* ces services *conviennent* à l'application donnée. Ce qui
est loin d'être acquis et c'est bien l'objet du débat (je
parle toujours de XML et non de la STL).
| ... mais parce que l'on va y trouver toute une panoplie de
| services que l'on aurait bien du mal à réécrire soi même.
*si* ces services *conviennent* à l'application donnée. Ce qui
est loin d'être acquis et c'est bien l'objet du débat (je
parle toujours de XML et non de la STL).
| ... mais parce que l'on va y trouver toute une panoplie de
| services que l'on aurait bien du mal à réécrire soi même.
*si* ces services *conviennent* à l'application donnée. Ce qui
est loin d'être acquis et c'est bien l'objet du débat (je
parle toujours de XML et non de la STL).
Le seul avantage, c'est si le DTD est deja definit par
ailleurs et pas controle par un concurrent. Mais ce n'est pas
un avantage d'XML, c'est un avantage d'un format definit.
Le seul avantage, c'est si le DTD est deja definit par
ailleurs et pas controle par un concurrent. Mais ce n'est pas
un avantage d'XML, c'est un avantage d'un format definit.
Le seul avantage, c'est si le DTD est deja definit par
ailleurs et pas controle par un concurrent. Mais ce n'est pas
un avantage d'XML, c'est un avantage d'un format definit.
Jean-Marc Bourguet wrote:J'ai une proportion non negligeable de classes pour
lesquelles la persistance ou la serialisation sont
pertinentes mais qui ont des membres ne devant pas etre
serialises ou rendus persistants. Comment de l'introspection
seule peut-elle rendre la chose automatique sans avoir un
attribut supplementaire pour indiquer ce fait (ce qu'a Java
si j'ai bonne memoire)?
Je ne sais pas pour Java, mais c'est le genre d'option retenue
dans les langages .NET. Avec de mémoire la possibilité d'aller
plus loin qu'un simple on/off, mais de donner des infos sur
comment sérialiser.
Et je n'aime pas trop. Déjà on peut imaginer vouloir
sérialiser différemment une seule classe, mais surtout, je
trouve que ça rajoute dans la définition de la classe des
informations qui n'ont rien à y faire, et encombrent donc.
Jean-Marc Bourguet wrote:
J'ai une proportion non negligeable de classes pour
lesquelles la persistance ou la serialisation sont
pertinentes mais qui ont des membres ne devant pas etre
serialises ou rendus persistants. Comment de l'introspection
seule peut-elle rendre la chose automatique sans avoir un
attribut supplementaire pour indiquer ce fait (ce qu'a Java
si j'ai bonne memoire)?
Je ne sais pas pour Java, mais c'est le genre d'option retenue
dans les langages .NET. Avec de mémoire la possibilité d'aller
plus loin qu'un simple on/off, mais de donner des infos sur
comment sérialiser.
Et je n'aime pas trop. Déjà on peut imaginer vouloir
sérialiser différemment une seule classe, mais surtout, je
trouve que ça rajoute dans la définition de la classe des
informations qui n'ont rien à y faire, et encombrent donc.
Jean-Marc Bourguet wrote:J'ai une proportion non negligeable de classes pour
lesquelles la persistance ou la serialisation sont
pertinentes mais qui ont des membres ne devant pas etre
serialises ou rendus persistants. Comment de l'introspection
seule peut-elle rendre la chose automatique sans avoir un
attribut supplementaire pour indiquer ce fait (ce qu'a Java
si j'ai bonne memoire)?
Je ne sais pas pour Java, mais c'est le genre d'option retenue
dans les langages .NET. Avec de mémoire la possibilité d'aller
plus loin qu'un simple on/off, mais de donner des infos sur
comment sérialiser.
Et je n'aime pas trop. Déjà on peut imaginer vouloir
sérialiser différemment une seule classe, mais surtout, je
trouve que ça rajoute dans la définition de la classe des
informations qui n'ont rien à y faire, et encombrent donc.
drkm wrote:Laurent Deniau writes:drkm wrote:writes:-- plus lisible par un être humain normalement constitué, et
-- plus simple à générer et surtout à parser (et donc, moins
consumateur du temps CPU).
Malheureusement, l'idée contraire est je pense fort répandue (XML,
compromis lisible par les humains et les machines).
question de point de vue:
<MyFormat>
Complex 1 2
</MyFormat>
Pas lisible? Complique?
Ce n'est pas exactement la question. Je trouve « (1;2) » *plus*
lisible, et par un humain, et par une machine.
A quoi sert "(;)", quelle information cela apporte-t-il (machine +
humain)? Si cela denote la semantique d'un complexe pour eviter
d'appeler un chat un chat (i.e. prefixer par Complex),
quelle semantique
alambiquee/compliquee proposes-tu pour un array, une liste, un tuple, un
quaternion, etc...
drkm wrote:
Laurent Deniau <Laurent.Deniau@cern.ch> writes:
drkm wrote:
kanze@gabi-soft.fr writes:
-- plus lisible par un être humain normalement constitué, et
-- plus simple à générer et surtout à parser (et donc, moins
consumateur du temps CPU).
Malheureusement, l'idée contraire est je pense fort répandue (XML,
compromis lisible par les humains et les machines).
question de point de vue:
<MyFormat>
Complex 1 2
</MyFormat>
Pas lisible? Complique?
Ce n'est pas exactement la question. Je trouve « (1;2) » *plus*
lisible, et par un humain, et par une machine.
A quoi sert "(;)", quelle information cela apporte-t-il (machine +
humain)? Si cela denote la semantique d'un complexe pour eviter
d'appeler un chat un chat (i.e. prefixer par Complex),
quelle semantique
alambiquee/compliquee proposes-tu pour un array, une liste, un tuple, un
quaternion, etc...
drkm wrote:Laurent Deniau writes:drkm wrote:writes:-- plus lisible par un être humain normalement constitué, et
-- plus simple à générer et surtout à parser (et donc, moins
consumateur du temps CPU).
Malheureusement, l'idée contraire est je pense fort répandue (XML,
compromis lisible par les humains et les machines).
question de point de vue:
<MyFormat>
Complex 1 2
</MyFormat>
Pas lisible? Complique?
Ce n'est pas exactement la question. Je trouve « (1;2) » *plus*
lisible, et par un humain, et par une machine.
A quoi sert "(;)", quelle information cela apporte-t-il (machine +
humain)? Si cela denote la semantique d'un complexe pour eviter
d'appeler un chat un chat (i.e. prefixer par Complex),
quelle semantique
alambiquee/compliquee proposes-tu pour un array, une liste, un tuple, un
quaternion, etc...