你讨厌XML吗?(2010)

Hacker News Top 新闻

摘要

一篇2010年的反思性博客文章,探讨了开发者讨厌XML的原因,追溯了炒作和反弹的周期,并讨论了使用XML进行数据建模和互操作性所面临的挑战。

暂无内容
查看原文
查看缓存全文

缓存时间: 2026/07/05 19:33

# 你讨厌XML吗?:Sigfrid Lundberg 的博客 来源:https://sigfrid-lundberg.se/entries/2010/07/hate_xml/ 过去十五年里,我大部分时间都在研究数据的互操作性、可移植性和长期保存问题,尤其是在图书馆环境中的元数据。这些年里,我大量使用了XML。 早期,我像塔利班一样狂热地鼓吹XML。我想自己也为2000年前后开始、2004-2005年达到顶峰的XML热潮(参见图1和Edd Dumbill的《我如何恨你?》(https://www.xml.com/pub/a/2004/11/03/deviant.html))做出了贡献。此后我变得温和了一些,但仍然认为XML是数据建模的首选工具。 讨厌XML的网页 (https://sigfrid-lundberg.se/entries/2010/07/hate_xml/hate_xml.png) 图1. 每年出现的包含短语**hate XML**的网页数量。在2004年应用XML开发者大会之后几年,出现次数急剧增加。之后似乎趋于平稳。 数据点表示两个年度的合并点击量,对应每个周期第二年的1月1日。 由于Google的工作方式,日期搜索主要命中博客文章和其他联合内容,这些内容的发布日期和其他元数据已知。最早出现是在2001年。 一旦掌握了某项技术,你就很难保持强烈的情感,至少是积极的情感。你会看到它的缺点和优点。随着时间的推移,你可能会变得更加负面。或者这是我个人的经验。我认为我们与技术的关系有点像人际关系。早期是坠入爱河。然后如果幸运的话,会有一段长期的友谊和更深层次的爱,可能持续更久。 早在2000年,我的一个朋友就将他与XML的关系描述为“尖括号疲劳”,我想这应该理解为“我讨厌输入XML,因为它的语法太糟糕了”。 Google 2004-2010年对“hate xml”的搜索兴趣 (https://sigfrid-lundberg.se/entries/2010/07/hate_xml/report_hate_xml.png) 图2. Google中搜索词**hate XML**的兴趣变化。“讨厌XML”情绪的出现次数变化与搜索兴趣之间几乎没有联系。人们似乎是在写文章之后几年才开始搜索这个词。 ### 开发者讨厌XML 2004年,sellsbrothers.com (https://sellsbrothers.com/) 组织了一次应用XML开发者大会 (https://sellsbrothers.com/public/conference/oldindex9.htm)。我不记得当时听说过这个会议,但有一篇投稿在博客圈引起了相当大的关注。那是Chris Anderson(又名SimpleGeek (http://www.simplegeek.com/))的演讲《开发者讨厌XML》。我还没在网上找到幻灯片。不过,Jeff Barr (https://jeff-barr.com/) 总结如下: > *Chris对XML的主要不满是,XML必须使用专门的工具和语言(如XSLT)在隔离环境中处理。为了使用这些专门的东西,**开发者必须成为领域专家***(我强调)*,而这些领域本质上与应用本身无关,是一个丰富而复杂的空间。* 我认为Chris(和Jeff)在这里指出了一个重要问题。许多开发者对编程和计算感兴趣,但不一定对应用领域感兴趣。要解析并从中提取有意义的信息,比如书目记录或编码文本,你需要真正对这些领域感兴趣。流体力学和自然语言处理也是如此。对偏微分方程和语言学的兴趣会有帮助。 在我看来,XML和SQL在这方面没有区别。任何用于对象关系建模的工具都会遇到同样的问题。进行建模的开发者必须成为领域专家。这对XML来说相当明显,而对SQL则不那么明显。虽然很少有人为XML模式发起大规模标准化工作,但他们几乎不会为RDBMS模式这样做。 XML技术提供而RDBMS没有的是可互操作的传输语法。我想这就是世界上大多数XML都存储在RDBMS中的原因。 ### 关于仇恨 我不记得自己曾在什么地方写过我恨某人或某物。我觉得仇恨是情绪化和非理性的。不过,这可能存在语言和文化差异;也可能是语义膨胀的问题。 当我们斯堪的纳维亚人说我们恨某物时,我们是认真的。我不确定在英美文化圈是否如此,甚至也不确定年轻的斯堪的纳维亚人是否如此。然而,当你是一个中年的学术和知识分子时,你可能认为仇恨是不合适的。或者,至少你可能认为将自己的不悦和烦恼描述为仇恨是不合适的。 我曾多次尝试了解人们对XML、SQL、noSQL等技术的看法。在这里,爱和恨都被用作代号。人们讨厌(或喜欢)XML,就像他们喜欢(或讨厌)比波普、流行或嘻哈音乐一样。而不是他们爱孩子、妻子或母亲的方式。

相似文章

我讨厌编译器

Hacker News Top

一篇表达对编译器不满的个人观点文章,可能讨论其复杂性或缺点。

为YAML辩护

Lobsters Hottest

Posit的一篇博文为YAML辩护,反驳当前普遍认为TOML更优的共识,回顾了配置格式的历史,并指出YAML的规范与工具已经演进,解决了过去的批评。

避免在RSS中使用"<![CDATA[]]>"

Hacker News Top

本文认为,在RSS/Atom feed中使用CDATA区段存在问题,因为需要对']]>'序列进行特殊转义,建议改用标准XML转义以确保简单性和统一性。

有人也讨厌这种无IDE的趋势吗?

Reddit r/singularity

一位开发者批评了AI编码工具移除代码编辑器、转而采用独立聊天界面的趋势,认为这浪费token且忽视了技术用户的需求,他们更希望在IDE内管理代码输出。