Scribe is a markup language and
word processing A word processor (WP) is a device or computer program that provides for input, editing, formatting, and output of text, often with some additional features.
Word processor (electronic device), Early word processors were stand-alone devices dedicate ...
system that pioneered the use of
descriptive markup.
Scribe was revolutionary when it was proposed, because it involved for the first time a clean
separation of presentation and content
Separation of content and presentation (or separation of content and style) is the separation of concerns design principle as applied to the authoring and presentation of content. Under this principle, visual and design aspects (presentation and s ...
.
History
Beginnings
Scribe was designed and developed by
Brian Reid of
Carnegie Mellon University
Carnegie Mellon University (CMU) is a private research university in Pittsburgh, Pennsylvania, United States. The institution was established in 1900 by Andrew Carnegie as the Carnegie Technical Schools. In 1912, it became the Carnegie Institu ...
. It formed the subject o
his 1980 doctoral dissertation for which he received the
Association for Computing Machinery
The Association for Computing Machinery (ACM) is a US-based international learned society for computing. It was founded in 1947 and is the world's largest scientific and educational computing society. The ACM is a non-profit professional membe ...
's
Grace Murray Hopper Award in 1982.
[
Reid presented a paper describing Scribe in the same conference session in 1981 in which ]Charles Goldfarb
Charles F. Goldfarb, (born November 26, 1939) is known as the father of Standard Generalized Markup Language (SGML) and grandfather of HTML and the World Wide Web. He co-invented the concept of markup languages.
In 1969 Charles Goldfarb, leading ...
presented GML (developed in 1969), the immediate predecessor of SGML
The Standard Generalized Markup Language (SGML; International Organization for Standardization, ISO 8879:1986) is a standard for defining generalized markup languages for documents. ISO 8879 Annex A.1 states that generalized markup is "based on t ...
.
Sale to Unilogic
In 1979, at the end of his graduate-student career, Reid sold Scribe to a Pittsburgh-area software company called Unilogic (later renamed Scribe Systems), founded by Michael Shamos, another Carnegie Mellon computer scientist, to market the program. Reid said he simply was looking for a way to unload the program on developers that would keep it from going into the public domain.
Michael Shamos was embroiled in a dispute with Carnegie Mellon administrators over the intellectual-property rights to Scribe. The dispute with the administration was settled out of court, and the university conceded it had no claim to Scribe.
Time-bomb
Reid agreed to insert a set of time-dependent functions (called " time bombs") that would deactivate freely copied versions of the program after a 90-day expiration date. To avoid deactivation, users paid the software company, which then issued a code that defused the internal time-bomb feature.
Richard Stallman
Richard Matthew Stallman ( ; born March 16, 1953), also known by his initials, rms, is an American free software movement activist and programmer. He campaigns for software to be distributed in such a manner that its users have the freedom to ...
saw this as a betrayal of the programmer ethos
''Ethos'' is a Greek word meaning 'character' that is used to describe the guiding beliefs or ideals that characterize a community, nation, or ideology; and the balance between caution and passion. The Greeks also used this word to refer to the ...
. Instead of honoring the notion of "share-and-share alike", Reid had inserted a way for companies to compel programmers to pay for information access.
Stallman's Texinfo
Texinfo is a typesetting syntax used for generating documentation in both on-line and printed form (creating filetypes as , , , etc., and a specific hypertext format, ) with a single source file. It is implemented by a computer program released as ...
is "loosely based on Brian Reid's Scribe and other formatting languages of the time".
Using Scribe word processor
Using Scribe involved a two phase process:
* Typing a manuscript file using any text editor, conforming to the Scribe markup.
* Processing this file through the Scribe compiler to generate an associated document file, which can be printed.
The Scribe markup language defined the words, lines, pages, spacing, headings, footings, footnotes, numbering, tables of contents, etc. in a way similar to HTML
Hypertext Markup Language (HTML) is the standard markup language for documents designed to be displayed in a web browser. It defines the content and structure of web content. It is often assisted by technologies such as Cascading Style Sheets ( ...
. The Scribe compiler used a database of Styles (containing document format definitions), which defined the rules for formatting a document in a particular style.
Because of the separation between the content (structure) of the document, and its style (format), writers did not need to concern themselves with the details of formatting. In this, there are similarities to the LaTeX
Latex is an emulsion (stable dispersion) of polymer microparticles in water. Latices are found in nature, but synthetic latices are common as well.
In nature, latex is found as a wikt:milky, milky fluid, which is present in 10% of all floweri ...
document preparation system by Leslie Lamport.
The markup language
The idea of using markup language, in which meta-information about the document and its formatting were contained within the document itself, first saw widespread use in a program called RUNOFF; Scribe contained the first robust implementation of declarative markup language.
In Scribe, markup was introduced with an @ sign, followed either by a Begin-End block or by a direct token invocation:
@Heading(The Beginning)
@Begin(Quotation)
Let's start at the very beginning, a very good place to start
@End(Quotation)
It was also possible to pass parameters:
@MakeSection(tag=beginning, title="The Beginning")
Typically, large documents were composed of Chapters, with each chapter in a separate file. These files were then referenced by a master document file, thereby concatenating numerous components into a single large source document. The master file typically also defined styles (such as fonts and margins) and declared macros like MakeSection shown above; macros had limited programmatic features. From that single concatenated source, Scribe computed chapter numbers, page numbers, and cross-references.
These processes replicate features in later markup languages like HTML
Hypertext Markup Language (HTML) is the standard markup language for documents designed to be displayed in a web browser. It defines the content and structure of web content. It is often assisted by technologies such as Cascading Style Sheets ( ...
. Placing styles in a separate file gave some advantages like Cascading Style Sheets, and programmed macros presaged the document manipulation aspects of JavaScript
JavaScript (), often abbreviated as JS, is a programming language and core technology of the World Wide Web, alongside HTML and CSS. Ninety-nine percent of websites use JavaScript on the client side for webpage behavior.
Web browsers have ...
.
Related software
The FinalWord word processor from Mark of the Unicorn
Mark of the Unicorn (MOTU) is a music-related computer software and hardware supplier developed by Jason Linhart, Craig Finseth, Scott Layson Burson, Brian Hess. It is based in Cambridge, Massachusetts and has created music software since 1984. ...
, which became Borland
Borland Software Corporation was a computing technology company founded in 1983 by Niels Jensen, Ole Henriksen, Mogens Glad, and Philippe Kahn. Its main business was developing and selling software development and software deployment products. B ...
's Sprint, featured a markup language which resembled a simplified version of Scribe's.
Before being packaged as FinalWord, earlier versions of the editor and formatter had been sold separately as MINCE ("MINCE Is Not Complete Emacs
Emacs (), originally named EMACS (an acronym for "Editor Macros"), is a family of text editors that are characterized by their extensibility. The manual for the most widely used variant, GNU Emacs, describes it as "the extensible, customizable, s ...
") and Scribble respectively.
LaTeX
Latex is an emulsion (stable dispersion) of polymer microparticles in water. Latices are found in nature, but synthetic latices are common as well.
In nature, latex is found as a wikt:milky, milky fluid, which is present in 10% of all floweri ...
extends TeX
Tex, TeX, TEX, may refer to:
People and fictional characters
* Tex (nickname), a list of people and fictional characters with the nickname
* Tex Earnhardt (1930–2020), U.S. businessman
* Joe Tex (1933–1982), stage name of American soul singer ...
with the descriptive markup ideas of Scribe.
See also
* Markup language
A markup language is a Encoding, text-encoding system which specifies the structure and formatting of a document and potentially the relationships among its parts. Markup can control the display of a document or enrich its content to facilitate au ...
* TeX
Tex, TeX, TEX, may refer to:
People and fictional characters
* Tex (nickname), a list of people and fictional characters with the nickname
* Tex Earnhardt (1930–2020), U.S. businessman
* Joe Tex (1933–1982), stage name of American soul singer ...
* LaTeX
Latex is an emulsion (stable dispersion) of polymer microparticles in water. Latices are found in nature, but synthetic latices are common as well.
In nature, latex is found as a wikt:milky, milky fluid, which is present in 10% of all floweri ...
References
External links
* Reid's 1980 doctoral dissertation
"Scribe: A Document Specification Language and its Compiler"
(Note: , missing the last page.)
Abstract of the dissertation.
* ttp://hopl.info/showlanguage.prx?exp=2481&language=Scribe Reason why Brian Reid obtained a Hopper Medal for Scribe at th
Online Historical Encyclopaedia of Programming Languages
Scribe, Introductory User's Manual, Brian Reid, 1978
{{DEFAULTSORT:Scribe (Markup Language)
Markup languages
Word processors