2004-09-05

[fr] XML: parsing for dummies

Le cerveau du youzeur contient plus de neurones que prévu et il faut une usine à gaz pour le remplacer.

Je me suis longtemps demandé

  1. d'où venait le succès de XML,
  2. pourquoi je ne le comprenais pas.


Je suis convaincu que bricoler un langage adapté à un problème particulier est (i) terriblement rigolo, (ii) très utile. "Languages shape the way we think" (Dijkstra).

Malheureusement, écrire un parser capable d'avaler le dialecte inventé n'est pas à la portée de n'importe qui, plus par méconnaissance du sujet qu'à cause d'une réelle difficulté technique: les outils existent et il suffit de ne pas se laisser impressionner par le problème.

Comment éviter à Monsieur Toutlemonde de se blesser en écrivant un parser? Tout simplement en lui amenant un truc tout fait: XML.
Le génie de ce bazar, si l'on peut dire, c'est que le parser est universel. Ça se paie cher: les DTD et autres XBZZZ saletés sont de vrais romans pas bien éloignés d'une grammaire Bison, la moindre bibliothèque XML pèse quelques Mo et son API est un vrai plat de nouille plein d'options, de machins et de sous-trucs.

Finalement, XML est presque un langage de programmation. Mais les données sont statiques, contrairement au code: on arrive à comprendre son sens en le regardant bouger.

Autre grand principe méconnu: commenter le code ne sert à rien. Si le code est vraiment illisible, il faut le réécrire. Ce qui est important, c'est d'expliciter la sémantique des structures de données.
Et ça, XML ne l'impose pas.

Labels:

0 Comments:

Post a Comment

<< Home