目录

SGML:标记语言的创世神话

SGML,全称“标准通用标记语言”(Standard Generalized Markup Language),与其说它是一种语言,不如说它是一切标记语言的“创世之神”。它并非一套具体的标签,而是一部宏大的元语言法典,一套用于定义其他标记语言的规则和语法。就如同它不是一座具体的建筑,而是诞生了整个建筑学体系,让人们可以遵循其法则,设计出从茅草屋到摩天大楼的无数种建筑一样。SGML的使命无比宏伟:为人类的数字知识建立一种通用的、永恒的“语法”,确保任何文档都能超越特定的计算机系统、软件或时代,被准确无误地理解和保存。

创世前的混沌:数字巴别塔

互联网诞生前的蛮荒时代,数字世界正经历着一场“巴别塔”式的灾难。每一台计算机,每一款软件,都说着自己独有的“方言”。一份在一个系统上精心编辑的文档,传到另一个系统上,往往就变成了一堆无法辨认的乱码。这种混乱对于需要管理海量、长周期文档的大型机构——例如政府、军队、航空航天公司和大型出版社——来说,是一场不折不扣的噩梦。他们的技术手册、法律文件、科研报告,都面临着“数字速朽”的威胁。人们迫切需要一块“数字罗塞塔石碑”,来破译这场由比特流构成的混乱。

GML的诞生:应许之光

希望的曙光出现在20世纪60年代末的IBM。三位远见卓识的工程师——查尔斯·戈德法布(Charles Goldfarb)、爱德华·莫舍(Edward Mosher)和雷蒙德·洛里(Raymond Lorie)——共同创造了一种名为 GML (Generalized Markup Language) 的语言。GML带来了一个革命性的思想,这个思想至今仍是现代网络世界的基石:将文档的“结构”与“表现”相分离。 在GML出现之前,人们标记文档的方式是指令式的,例如“将这段文字设为14号、粗体、居中”。而GML则倡导一种描述性的标记方式,它会说“这是一级标题”。至于“一级标题”具体应该长什么样,则交由不同的系统或程序去自行解释。这个从关注“它看起来怎样”到关注“它是什么”的转变,是一次伟大的认知飞跃。它意味着内容本身获得了独立于外表的永恒身份。

SGML的加冕:一部宏伟的法典

戈德法布成为了这一思想最热忱的布道者。他坚信,这种思想值得被推广为全世界共同遵循的标准。经过多年的不懈努力,他联合美国国家标准协会(ANSI)与国际标准化组织(ISO),终于在1986年将这一理念锤炼成一部包罗万象、逻辑严谨的国际标准:ISO 8879,这便是正式加冕的SGML。 SGML是那个时代的巅峰之作,它强大、灵活、无所不包,但也因此变得极其复杂。它就像一座用数学和逻辑构建的哥特式大教堂,宏伟、庄严、令人敬畏,但其繁复的规则和陡峭的学习曲线,也让普通开发者望而却步。因此,SGML主要被用于那些不计成本追求极致规范性的“国家级工程”中,例如为航空母舰和波音飞机编写数百万页的维护手册,这些手册需要在未来几十年内被不同系统准确读取。

永恒的遗产:后裔与新世界

历史的浪潮滚滚向前,一个更自由、更开放、更追求效率的新世界——互联网——正在崛起。SGML那套如法典般严苛的规则,对于这个新生世界来说,显得过于沉重和缓慢。然而,它的血脉并未断绝,反而以一种更轻盈的方式,孕育了整个新世界。

HTML:一个实用主义的子嗣

当蒂姆·伯纳斯-李(Tim Berners-Lee)在欧洲核子研究中心(CERN)构想万维网时,他需要一种简单快捷的方式来标记和链接文档。于是,他借鉴了SGML的理念,创造了一个“简装版”的后代——HTML(超文本标记语言)。从技术上讲,HTML是SGML的一个“应用”,一个具体的方言。但它为了追求易用性,大胆地“无视”了父亲的许多严格家规。HTML的成功在于它的不完美和实用主义,它让每个人都能轻松地创建网页,最终点燃了整个Web的燎原之火。

XML:继承血脉的革新者

随着Web的成熟,人们发现,HTML虽然简单,但结构性太弱,无法满足日益复杂的数据交换需求。世界需要一种既有SGML的严谨结构,又有HTML的简洁清晰的语言。于是,在20世纪90年代末,XML(可扩展标记语言)应运而生。 XML可以被看作是SGML的“净化版”继承者。它继承了SGML最核心的“描述性标记”和“结构与表现分离”的思想,同时又毫不留情地砍掉了那些复杂难懂的部分。XML的出现,完美地平衡了规则与效率,迅速成为现代应用程序之间数据交换的通用语。 如今,纯粹的SGML已很少在新的项目中使用,它像一位退隐山林的古代帝王。然而,它的帝国并未消亡。它的精神、语法和核心思想,已经化作DNA,融入了它的两个伟大后裔——HTML和XML之中,并通过它们,塑造了我们今天所见所感的整个数字世界。SGML并未死去,它只是通过改变形态,获得了永生。