Sunday, August 17, 2014

Invention of the Day: SGML (Standard Generalized Markup Language)

SGML is the second great invention (that I know of) by an American lawyer; the first one being the Cotton Gin, by  Eli Whitney.

The Cotton Gin (1793) revolutionized the cotton industry in the US and, arguably, triggered the Industrial Revolution in England. Similarly, the SGML, co–invented by Charles F. Goldfarb, revolutionized the way we work with electronic documents. For example, the World Wide Web would be impossible without HTML, a simplified extension of SGML. Another extension of SGMIL is XML, a critically important document format used extensively in modern web and mobile applications.



In 1969, together with Ed Mosher and Ray Lorie, Goldfarb invented the SGML to make electronic documents compatible between different computing systems. Before SGML, a document would have instructions on how to handle it — procedural markup — embedded into the text. Since different IBM computer systems had different command sets, moving documents with procedural markup created a problem, because the same document would not "work" on a different computer. To solve the problem, the inventors came up with a language that could describe the contents of the document independently from the application or computer system that stored or processed it. Here's how Goldfarb wrote about the breakthrough in a 1971 paper:
The principle of separating document description from application function makes it possible to describe the attributes common to all documents of the same type.
20 years later, this feature of SGML turned out to be highly useful for the World Wide Web, a system designed for a seamless exchange of documents from networked computer systems around the world. HTML, a simplified version of SGML, allowed web enthusiasts to put together simple web pages that could be rendered in browsers on all kinds of machines. With the web, the invention turned into a great innovation.

tags: invention, innovation, separation, internet, web, packaged, payload,  

No comments: