Extensible Markup Language
XML y sus extensiones han sido regularmente criticadas por su nivel de detalle y complejidad. El mapeo del modelo de árbol básico de XML hacia los sistema de tipos de lenguajes de programación o bases de datos puede ser difícil, especialmente cuando se utiliza XML para el intercambio de datos altamente estructurados entre aplicaciones, lo que no era su objetivo primario de diseño. Otras críticas intentan refutar la afirmación de que XML es un lenguaje (aunque la especificación XML no hace ninguna afirmación de este tipo). Se propone a JSON y YAML frecuentemente como alternativas, centrándose ambas en la representación de datos estructurados, en lugar de documentos narrativos.La tecnología XML busca dar solución al problema de expresar información estructurada de la manera más abstracta y reutilizable posible. Que la información sea estructurada quiere decir que se compone de partes bien definidas, y que esas partes se componen a su vez de otras partes. Entonces se tiene un árbol de trozos de información. Ejemplos son un tema musical, que se compone de compases, que están formados a su vez por notas. Estas partes se llaman "elementos", y se las señala mediante etiquetas.
Aplicación web
Los desarrolladores web generalmente utilizan lenguajes interpretados (scripts) en el lado del cliente para añadir más funcionalidades, especialmente para ofrecer una experiencia interactiva que no requiera recargar la página cada vez (lo que suele resultar molesto a los usuarios). Se han desarrollado tecnologías para coordinar estos lenguajes con las tecnologías en el lado del servidor. Por ejemplo, AJAX es una técnica de desarrollo web que usa una combinación de varias tecnologías.Existen numerosos lenguajes de programación empleados para el desarrollo de aplicaciones web en el servidor, entre los que destacan: