Scribe es un lenguaje de marcado y un sistema de procesamiento de texto que fue pionero en el uso del marcado descriptivo . [1] [2] Scribe fue revolucionario cuando se propuso, porque implicó por primera vez una separación limpia de presentación y contenido . [3] [4] [5]
Historia
Principios
Scribe fue diseñado y desarrollado por Brian Reid de la Universidad Carnegie Mellon . Se formó el tema de su tesis doctoral 1980 , por la que recibió la Association for Computing Machinery 's Premio Grace Murray Hopper en 1982. [1]
Reid presentó un artículo que describe a Scribe en la misma sesión de la conferencia en 1981 en la que Charles Goldfarb presentó GML (desarrollado en 1969), [6] el predecesor inmediato de SGML .
Escriba vendido a Unilogic
En 1979, al final de su carrera de estudiante de posgrado, Reid vendió Scribe a una empresa de software del área de Pittsburgh llamada Unilogic (más tarde rebautizada como Scribe Systems [7] ), fundada por Michael Shamos , otro científico informático de Carnegie Mellon, para comercializar el programa. . Reid dijo que simplemente estaba buscando una forma de descargar el programa a los desarrolladores que evitara que pasara al dominio público.
Michael Shamos se vio envuelto en una disputa con los administradores de Carnegie Mellon sobre 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 a Scribe. [8]
Bomba de tiempo
Reid acordó insertar un conjunto de funciones dependientes del tiempo (llamadas " bombas de tiempo ") que desactivarían las versiones copiadas libremente del programa después de una fecha de vencimiento de 90 días. Para evitar la desactivación, los usuarios pagaron a la compañía de software, que luego emitió un código que desactivó la función interna de bomba de tiempo.
Richard Stallman vio esto como una traición al espíritu del programador . En lugar de honrar la noción de "compartir y 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]
Usando el procesador de texto Scribe
El uso de Scribe implicó un proceso de dos fases:
- Escribir un archivo de manuscrito con cualquier editor de texto, conforme al marcado Scribe.
- Procesar este archivo a través del compilador Scribe para generar un archivo de documento asociado, que se puede imprimir.
El lenguaje de marcado Scribe definió las palabras, líneas, páginas, espaciado, encabezados, pies de página, notas al pie, numeración, tablas de contenido, etc. de una manera similar a HTML . El compilador Scribe usó una base de datos de estilos (que contiene definiciones de formato de documento), que definió las reglas para formatear un documento en un estilo particular.
Debido a la separación entre el contenido (estructura) del documento y su estilo (formato), los escritores no necesitaban preocuparse por los detalles del formato. En esto, hay similitudes con el sistema de preparación de documentos LaTeX de Leslie Lamport .
El lenguaje de marcado
La idea de utilizar un lenguaje de marcado, en el que la metainformación sobre el documento y su formato estaba contenida en el documento mismo, vio por primera vez un uso generalizado en un programa llamado RUNOFF ; Scribe contenía la primera implementación sólida del 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:
@Heading (El comienzo)@Begin (Cotización) Empecemos por el principio, un muy buen punto de partida.@End (cotización)
También fue posible pasar parámetros:
@MakeSection (etiqueta = comienzo, título = "El comienzo")
Normalmente, los documentos grandes se componen de capítulos, con cada capítulo en un archivo separado. Luego, estos archivos fueron referenciados por un archivo de documento maestro, concatenando numerosos componentes en un solo documento fuente grande. El archivo maestro normalmente también define estilos (como fuentes y márgenes) y declara macros como MakeSection que se muestra arriba; las macros tenían funciones programáticas limitadas. A partir de esa única fuente concatenada, Scribe calculó los números de capítulo, los números de página y las referencias cruzadas.
Estos procesos replican características en lenguajes de marcado posteriores como HTML . Colocar estilos en un archivo separado proporcionó algunas ventajas, como hojas de estilo en cascada , y las macros programadas presagiaron los aspectos de manipulación de documentos de JavaScript .
Software relacionado
El FinalWord procesador de texto de Mark of the Unicorn , que se convirtió en Borland 's Sprint , contó con un lenguaje de marcado que se parecía a una versión simplificada de Scribe de. Antes de empaquetarse como FinalWord, las versiones anteriores del editor y formateador se vendían por separado como MINCE ("MINCE no es Emacs completo ") y Scribble respectivamente.
Ver también
Referencias
- ^ a b "1982 - Brian K. Reid" . Premio Grace Murray Hopper . Consultado el 24 de febrero de 2009 .
Por sus aportes en el área de la producción de textos computarizados y sistemas de composición tipográfica, específicamente Scribe que representa un gran avance en esta área. Incorpora varias innovaciones basadas en la investigación en ciencias de la computación en el diseño de lenguajes de programación, sistemas basados en el conocimiento, procesamiento de documentos por computadora y tipografía.
- ^ "Escriba (ID: 2481 / scr010) - Idioma 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 innovador. Razón por la que Reid obtuvo una medalla Hopper en 1982.
- ^ "Conferencia de Markup Technologies '98. Agenda y horario" . xml.coverpages.org. Noviembre de 1998 . Consultado el 24 de febrero de 2009 .
El trabajo de Brian Reid con los 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 puede haber sido la separación más limpia de estructura y formato jamás construida. Su disertación al respecto ya estaba completa en 1981, año en que presentó en Lausana en la misma sesión en la que 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 uno de los primeros formateadores basado en la estructura en lugar de los comandos de formato.
- ^ Brian K. Reid, "Un enfoque de alto nivel para el formateo de documentos informáticos", Actas de las Actas de POPL '80 del 7º simposio ACM SIGPLAN-SIGACT sobre Principios de lenguajes de programación, p. 24-31 doi : 10.1145 / 567446.567449
- ^ ver el artículo de GML Wiki
- ^ Estudio de caso de 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: 2 eruditos se enfrentan en un choque de derechos de autor
- ^ Williams, Sam (marzo de 2002). "Libre como en la libertad - Cruzada de Richard Stallman por el software libre" . O'Reilly . Consultado el 26 de septiembre de 2008 .
Para Reid, el trato fue beneficioso para todos. Scribe no cayó en el dominio público y Unilogic recuperó su inversión. Para Stallman, fue una traición al espíritu del programador, pura y simplemente. En lugar de honrar la noción de compartir y 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.
- ^ TexInfo
- ^ Crockford, Douglas (28 de junio de 2007). "Escriba" . Consultado el 12 de abril de 2010 .
enlaces externos
- Tesis doctoral de 1980 de Reid, "Scribe: un lenguaje de especificación de documentos y su compilador" . (Nota: A partir de abril de 2014[actualizar], falta la última página).
- Resumen de la disertación.
- Discurso de Brian Reid en la conferencia Markup Technologies '98, en PowerPoint
- Razón por la que Brian Reid obtuvo una medalla Hopper como escriba , en la Enciclopedia histórica en línea de lenguajes de programación
- Escriba, Manual introductorio del usuario, Brian Reid, 1978