No es el uso, es el abuso, que puede transformarse en delirio.
Mi opinión sobre el uso (resumen de los links anteriores) está muy bien condensada en uno de los puntos del artículo: XML es perfecto para para crear documentos estructurados que puedan ser manipulados “como cajas negras” por aplicaciones o, más apropiado todavía, interpretados fácilmente por seres humanos. Por ejemplo:
…pero si tenemos que compartir una gran cantidad de datos entre aplicaciones con una estructura preestablecida… ¿Para qué especificarla junto a los datos mismos si está, justamente, preestablecida?
Tal el caso que se ilustra en how xml threatens big data, un artículo reciente de Dataspora Blog (en inglés) donde el autor comenta brevemente su fracasado intento (enderezado a tiempo) de usar XML como formato para compartir grandes cantidades (ahí el problema) de datos entre aplicaciones.
En resumen, tres razones para el fracaso:
-
XML aumenta la burocracia: creación, parseo, tipado, conversión…
-
El tamaño importa. XML encaja bien para documentos (cantidades de información manejable por seres humanos), pero no para datos (cantidades de información manejable por aplicaciones).
-
La complejidad tiene su costo. XML es mucho más complejo que otros formatos (CSV, JSON).
… y una propuesta de tres reglas para “Rebeldes del XML”:
-
¡Basta de inventar nuevos formatos XML!
-
Obedece la regla de los
5015 minutos: no debería llevar más de5015 (¡ay! mi inglés) minutos aprender el formato. -
Adoptar modelado de datos tardío (Lazy Data Modeling), un concepto comparable a la “evaluación tardía”: grabar los datos como son y dejar su interpretación (tipado) para el momento en el que se los requiera, implementando esa interpretación de acuerdo a las necesidades del caso. Es un un punto que tal vez merece más reflexión y que da para mayor discusión.
Ése es el resumen, mucho más detalle por aquí, en el artículo original.