Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
与JSON和XML相比,为什么不使用s表达式?_Xml_Json_S Expression - Fatal编程技术网

与JSON和XML相比,为什么不使用s表达式?

与JSON和XML相比,为什么不使用s表达式?,xml,json,s-expression,Xml,Json,S Expression,为什么Lisp推广的s表达式不被视为相对于JSON和XML的选项?是否有一些缺陷使得Lisp s表达式永远无法流行?任何合理规则、合理简单、合理紧凑的语法都可以正常工作。程序员习惯于发明新的标记,或者“修复”他们不喜欢的早期语法的东西,或者简单地使使用的标记一目了然。基本上,Michael Kay的答案是正确的——这是一个相当随意的选择,基本的答案是“因为JSON和XML并不是这样的。” 不过,可能有一些实际原因 例如,XML被设计成与基于SGML的文档处理器(例如,HTML是基于SGML的),

为什么Lisp推广的s表达式不被视为相对于JSON和XML的选项?是否有一些缺陷使得Lisp s表达式永远无法流行?

任何合理规则、合理简单、合理紧凑的语法都可以正常工作。程序员习惯于发明新的标记,或者“修复”他们不喜欢的早期语法的东西,或者简单地使使用的标记一目了然。基本上,Michael Kay的答案是正确的——这是一个相当随意的选择,基本的答案是“因为JSON和XML并不是这样的。”

不过,可能有一些实际原因

例如,XML被设计成与基于SGML的文档处理器(例如,HTML是基于SGML的),因为当时它被认为是试图创建一个更易于使用SGML的子集/子集。这为它提供了基本的尖括号和属性语法。其余的都是从这一出发点演变而来的。在XML发展的早期,这绝对是正确的选择,因为它让人们可以利用一些现有的SGML工具,并利用现有的SGML用户社区。现在。。。事实就是这样,没有理由改变它

我不能担保是什么激发了JSON语法背后的决策,除了其中一些是对XML的感知(和夸大)缺点的反应


Lisp S-expressions的批评者和粉丝一样多。。。在那些真正记得它们的人当中。过去有一个老笑话,LISP代表“许多恼人的、愚蠢的括号”。它们很容易解析。。。但最终并不比其他选择容易多少

这是一个意见的问题。技术选择很少是理性的。人们跟随人群,人群跟随时尚。好问题,可惜它没有引发任何讨论。发明和推广JSON的人可能不知道Lisp。他们只知道XML,并试图解决这个问题。