Estudios de Lingüística del Español (ELiEs)
Lenguajes de programación, lenguajes de marcado y modelos hipermedia: una visión interesada de la evolución de los lenguajes informáticos / A. Fernández-Valmayor, A. Navarro, B. Fernández-Manjón y J. L. Sierra


3. Los lenguajes de marcado y el paradigma documental

En los años 70 continúa la evolución de los lenguajes de programación a la vez que surgen otros lenguajes informáticos orientados a la gestión de información. Con el desarrollo de los programas que procesan texto (editores y procesadores de texto que agilizan el proceso de edición) surgen los primeros lenguajes informáticos especializados en tareas de descripción y estructuración de información: los lenguajes de marcas. Paralelamente, también, surgen otros lenguajes informáticos orientados a la representación, almacenamiento y consulta eficiente de grandes cantidades de datos: lenguajes y sistemas de bases de datos. Nuestra presentación se centra en los lenguajes de marcas.

Los lenguajes de marcas surgieron, inicialmente, como lenguajes formados por el conjunto de códigos de formato que los procesadores de texto introducen en los documentos para dirigir el proceso de presentación (impresión) mediante una linotipia o impresora programable. Como en el caso de los lenguajes de programación, inicialmente estos códigos de formato estaban ligados a las características de una máquina, programa o procesador de textos concreto y, en ellos, inicialmente no había nada que permitiese al programador (formateador de documentos en este caso) abstraerse de las características del procesador de textos y expresar de forma independiente a éste la estructura y la lógica interna del documento. En los años 70 cambia esta situación cuando Goldfarb y su equipo, a la sazón trabajando en IBM, introducen el concepto de marcado descriptivo que, en la década de los 80, alcanza la categoría de estándar con la definición del lenguaje SGML (ISO/IEC IS 8879 Standard Generalized Markup Language) (Goldfarb, 1990). Realmente SGML es un metalenguaje similar a EBNF, una extensión de BNF en la que se permite el uso de expresiones regulares arbitrarias en la parte derecha de las producciones. De esta forma, y utilizando un mecanismo similar al que se utiliza para definir lenguajes de programación, SGML permite definir lenguajes de marcas apropiados para diferentes aplicaciones específicas de procesamiento de texto. Además, para aumentar su capacidad expresiva, SGML también utiliza atributos asociados a los símbolos terminales, como habían propuesto Irons y Knuth con sus gramáticas de atributos aunque, en el caso de SGML, la potencia descriptiva de estos atributos es bastante menor.

SGML introduce tres conceptos básicos:

El uso de lenguajes de marcado descriptivo, como los definidos mediante SGML, inicialmente restringido a la publicación de documentos electrónicos, puede generalizarse a la construcción de aplicaciones informáticas. En esta generalización, las aplicaciones se describen mediante documentos que, posteriormente, se marcan mediante un lenguaje de marcado apropiado. Las aplicaciones surgen al procesar de forma adecuada dichos documentos marcados y esto conduce a un nuevo paradigma de programación: el paradigma documental. Dado que el énfasis en este paradigma se pone, no en el uso del lenguaje artificial, sino en la confección de los documentos que describen la aplicación, dicho paradigma acerca a la persona el proceso de construcción de aplicaciones. En Sierra (2003) se describe una propuesta que realiza este paradigma.

El paradigma documental es especialmente apropiado para la construcción de aplicaciones que, como las aplicaciones hipermedia, que se describen en el próximo apartado, manejan cantidades apreciables de contenidos estructurados. En este sentido, HyTime (ISO, 1992), un estándar construido sobre SGML para la descripción documental de aplicaciones hipermedia, representa un claro exponente del paradigma. HyTime introduce, así mismo, la idea de arquitectura como una forma de añadir semántica operacional al marcado descriptivo. La idea es que una arquitectura permite procesar de forma genérica documentos que comparten una funcionalidad común (que en el caso de HyTime era una funcionalidad hipermedia), todo ello sin perder la flexibilidad que supone que cada grupo de trabajo pueda definir, mediante su propia gramática o DTD, las marcas (y hasta cierto punto la estructura) que más le convenga a sus objetivos y a su entorno de trabajo. Para poder dar una semántica común a documentos marcados de acuerdo con diferentes DTDs se adoptan ciertos patrones de marcado que permiten relacionar las diferentes DTDs con la DTD que define la arquitectura. De esta forma, una aplicación que es capaz de procesar la arquitectura puede procesar también los documentos que obedecen a las DTDs particulares. En este contexto, los requisitos y exigencias que la construcción de aplicaciones hipermedia imponen a diseñadores y desarrolladores se vuelven cada vez más complejos y la creación de modelos, mediante un proceso de abstracción que provean un marco teórico en que diseñadores y desarrolladores puedan definir estas arquitecturas, se vuelve una necesidad. El esfuerzo por crear este marco teórico no ha cesado desde la década de los 80. La sección siguiente está dedicada a estudiar este esfuerzo y sus resultados.




Notas

2 También se utiliza el término marcado declarativo con este mismo sentido pero, como puede inducir a confusión con los lenguajes de programación declarativos, se ha preferido utilizar el término descriptivo.





Estudios de Lingüística del Español (ELiEs), vol. 24 (2006)   
 ISSN: 1139-8736