Scribe es un lenguaje de marcado y un sistema de procesamiento de texto que innovó el uso del marcado descriptivo . [ 1 ] [ 2 ] Scribe fue notable cuando se propuso, porque implicó por primera vez una clara separación entre presentación y contenido . [ 3 ] [ 4 ] [ 5 ]
Historia
Principios
Scribe fue diseñado y desarrollado por Brian Reid de la Universidad Carnegie Mellon . Fue el tema de su tesis doctoral de 1980 , por la cual recibió el premio Grace Murray Hopper de la Association for Computing Machinery en 1982. [ 1 ]
Reid presentó un artículo que describía Scribe en la misma sesión de la conferencia de 1981 en la que Charles Goldfarb presentó GML (desarrollado en 1969), [ 6 ] el predecesor inmediato de SGML .
Venta a Unilogic
En 1979, al finalizar sus estudios de posgrado, Reid vendió Scribe a Unilogic (más tarde rebautizada como Scribe Systems [ 7 ] ), una empresa de software del área de Pittsburgh fundada por Michael Shamos , otro científico informático de Carnegie Mellon, para comercializar el programa. Reid afirmó que simplemente buscaba una manera de transferir el programa a desarrolladores para evitar que pasara a ser de dominio público.
Michael Shamos se vio envuelto en una disputa con los administradores de Carnegie Mellon por los derechos de propiedad intelectual de Scribe. La disputa con la administración se resolvió extrajudicialmente, y la universidad admitió que no tenía ningún derecho sobre Scribe. [ 8 ]
Bomba de relojería
Reid accedió a insertar una serie de funciones dependientes del tiempo (denominadas " bombas de tiempo ") que desactivarían las versiones del programa copiadas libremente tras un plazo de 90 días. Para evitar la desactivación, los usuarios pagaban a la empresa de software, que luego emitía un código que desactivaba la función interna de la bomba de tiempo.
Richard Stallman consideró esto una traición a la ética del programador . En lugar de respetar la noción de "compartir por igual", Reid había introducido una forma para que las empresas obligaran a los programadores a pagar por el acceso a la información. [ 9 ]
Texinfo de Stallman está "vagamente basado en Scribe de Brian Reid y otros lenguajes de formato de la época" . [ 10 ]
Uso del procesador de textos Scribe
El uso de Scribe implicaba un proceso de dos pasos:
- El escritor redactaría un archivo de manuscrito que se ajustara a la sintaxis de Scribe.
- Este archivo se procesaría mediante el compilador Scribe para generar un archivo de documento asociado, que podría imprimirse.
El lenguaje de marcado Scribe definía palabras, líneas, páginas, espaciado, encabezados, pies de página, notas al pie, numeración, tablas de contenido, etc. , de forma similar a HTML . El compilador de Scribe utilizaba una base de datos de estilos que contenía definiciones de formato de documento.
Debido a la separación de responsabilidades entre el contenido (estructura) del documento y su estilo (formato), los escritores no necesitaban preocuparse por los detalles del formato.
El lenguaje de marcado
La idea de utilizar un lenguaje de marcado, en el que la metainformación sobre el documento y su formato se encontraba dentro del propio documento, se popularizó por primera vez en un programa llamado RUNOFF ; Scribe contenía la primera implementación robusta de un lenguaje de marcado declarativo. [ 11 ]
En Scribe, el marcado se introdujo con un signo @, seguido de un bloque Begin-End o de una invocación directa de token:
@Encabezado (El comienzo) @Inicio (Cita) Empecemos por el principio , un muy buen lugar para empezar @Fin (Cita ) También era posible pasar parámetros: .@MakeSection(tag=beginning,title="The Beginning")
Por lo general, los documentos extensos se componían de capítulos, cada uno en un archivo independiente. Estos archivos se referenciaban mediante un archivo maestro, concatenando así numerosos componentes en un único documento fuente de gran tamaño. El archivo maestro también solía definir estilos (como fuentes y márgenes) y declarar macros como MakeSection, que se muestra arriba; las macros tenían funciones de programación limitadas. A partir de ese único documento fuente concatenado, Scribe calculaba los números de capítulo, de página y las referencias cruzadas.
Estos procesos replican características de lenguajes de marcado posteriores como HTML . Colocar los estilos en un archivo separado aportó algunas ventajas, como las hojas de estilo en cascada (CSS) , y las macros programadas anticiparon los aspectos de manipulación de documentos de JavaScript .
Software relacionado
El procesador de textos FinalWord de Mark of the Unicorn , que posteriormente se convirtió en Sprint de Borland , presentaba un lenguaje de marcado similar a una versión simplificada del de Scribe. Antes de comercializarse como FinalWord, las versiones anteriores del editor y formateador se vendían por separado como MINCE ("MINCE Is Not Complete Emacs ") y Scribble, respectivamente.
LaTeX amplía TeX con las ideas de marcado descriptivo de Scribe.
El Manual de Referencia de Ada está escrito en un formato similar a Scribe, que se transforma en documentos de texto plano, HTML y PDF mediante una herramienta de formato. [ 12 ]
Véase también
Referencias
- 1 2 "1982 – Brian K. Reid" . Premio Grace Murray Hopper . Consultado el 24 de febrero de 2009. Por
sus contribuciones en el área de sistemas computarizados de producción de texto y composición tipográfica, específicamente Scribe, que representa un gran avance en este campo. Incorpora varias innovaciones basadas en la investigación en ciencias de la computación en diseño de lenguajes de programación, sistemas basados en el conocimiento, procesamiento de documentos por computadora y tipografía.
- ↑ "Scribe(ID:2481/scr010) - Lenguaje de formato de texto" . Enciclopedia histórica en línea de lenguajes de programación (hopl.info) . Consultado el 24 de febrero de 2009. Brian
Reid. Lenguaje de formato de texto revolucionario. Motivo por el que Reid recibió la Medalla Hopper en 1982.
- ↑ "Conferencia de Tecnologías de Marcado '98. Agenda y Programa" . xml.coverpages.org. Noviembre de 1998. Consultado el 24 de febrero de
2009. El trabajo de Brian Reid con sistemas de marcado comenzó en la década de 1970. Inventó e implementó de forma independiente el marcado descriptivo y desarrolló su teoría. Su sistema Scribe podría haber sido la separación más clara entre estructura y formato jamás creada. Su tesis doctoral sobre el tema ya estaba terminada en 1981, el año en que la presentó en Lausana en la misma sesión donde Charles Goldfarb presentó públicamente GML; SGML se propuso aproximadamente un año después.
- ↑ "Enlace XML" . xml.indelv.com. Noviembre de 1998. Consultado el 24 de febrero de 2009 .
El marcado "generalizado", "genérico" o "descriptivo" se ha descubierto varias veces, aparentemente de forma independiente. Scribe [Reid 1981] es un formateador primitivo basado en la estructura en lugar de comandos de formato.
- ↑ Brian K. Reid, "Un enfoque de alto nivel para el formato de documentos informáticos", Actas del POPL '80 Actas del 7.º simposio ACM SIGPLAN-SIGACT sobre principios de lenguajes de programación, págs. 24-31 doi : 10.1145/567446.567449
- ↑ ver artículo de la wiki de GML
- ↑ Estudio de caso sobre la optimización del controlador de impresora PostScript , Adobe Systems, Nota técnica n.º 5042, 31 de marzo de 1992, página 5.
- ↑ The Chronicle: 10 de agosto de 2001: Dos académicos se enfrentan en una disputa por derechos de autor.
- ↑ Williams, Sam (marzo de 2002). "Libre como en libertad: la cruzada de Richard Stallman por el software libre" . O'Reilly . Recuperado el 26 de septiembre de 2008. Para
Reid, el acuerdo fue beneficioso para ambas partes. Scribe no pasó a ser de dominio público y Unilogic recuperó su inversión. Para Stallman, fue una traición a la ética del programador, pura y simplemente. En lugar de respetar la idea de compartir por igual, Reid había insertado una forma para que las empresas obligaran a los programadores a pagar por el acceso a la información.
- ↑ Información de texto
- ↑ Crockford, Douglas (28-06-2007). "Escriba" . Recuperado el 12-04-2010 .
- ↑ http://www.ada-auth.org/arm.html
Enlaces externos
- La tesis doctoral de Reid de 1980, "Scribe: Un lenguaje de especificación de documentos y su compilador" . (Nota: A partir de abril de 2014 (falta la última página.)
- Resumen de la tesis doctoral.
- Presentación de Brian Reid en la conferencia Markup Technologies '98, en PowerPoint.
- Motivo por el cual Brian Reid obtuvo la Medalla Hopper por Scribe , en la Enciclopedia Histórica en Línea de Lenguajes de Programación.
- Scribe, Manual de usuario introductorio, Brian Reid, 1978
- Lenguajes de marcado
- Procesadores de texto