为什么与JSON和XML相比,S表达式没有被使用?

14
为什么Lisp流行的s表达式不被视为相对于JSON和XML的选项?它们是否存在某些缺陷,使得Lisp的s表达式从未流行起来?

这是一个观点问题。 - ChuckCottrill
2
时尚。技术选择很少是理性的。人们追随潮流,而群众则追随时尚。 - Michael Kay
7
好问题,可惜它没有引发任何讨论。 - Gerstmann
发明和普及JSON的人可能不知道Lisp。他们只知道XML并试图解决它的问题。 - Justin Meiners
1个回答

3
任何合理且简洁的语法都可以正常工作,程序员有一个习惯,要么是为了“修复”他们不喜欢的早期语法的问题,要么就是为了让人一眼看出使用了哪种标记而发明新的语法。基本上,Michael Kay的回答是正确的——这是一个相当随意的选择,基本答案是“因为JSON和XML没有走那条路。”
但实际上可能有一些原因。例如,XML的设计目的是与基于SGML的文档处理器(例如HTML)大多兼容,因为当时它被认为是创建一个更易于使用的SGML子集/替代品的尝试。这给它带来了基本的尖括号和属性语法。其余部分从这个起点上演进而来。在XML的早期演进阶段,这显然是正确的选择,因为它允许人们利用现有的SGML工具,并参与到现有的SGML用户社区中去。现在... 它是什么就是什么,没有好的理由改变它。
至于JSON语法背后的决策是什么,我无法保证,除了其中一些反应了对XML感知(并夸大了)的缺点。
Lisp S表达式有很多批评者和支持者... 他们中间的许多人都记得它们。曾经有一个古老的笑话说LISP代表“Lots of Irritating, Silly Parentheses.” 它们很容易解析......但最终并没有比其他选择更容易。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接