【问题标题】:Is JSON a language, if not how would it be classified?JSON 是一种语言,如果不是,它会如何分类?
【发布时间】:2013-03-18 23:07:47
【问题描述】:

考虑 JSON (JavaScript Object Notation)JSON 本身是一种语言,还是仅在另一种语言的上下文中定义?语言是指一种可能使用 JSON 传输/接收数据的编程语言。

有趣的是,XML 不是图灵完备的,但其名称中却包含 language。也许这意味着为此目的对语言进行更广泛的定义?

【问题讨论】:

标签: xml json programming-languages


【解决方案1】:

这是data interchange 格式。

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。

http://json.org

JavaScript Object Notation 是一种基于文本的开放标准,专为人类可读的数据交换而设计。

格式类型:数据交换

http://en.wikipedia.org/wiki/Json


是否仅在语言的上下文中定义

当然不是。完全可以编写使用 JSON 而不是 JavaScript 的应用程序。

【讨论】:

  • JavaScript 只是一个例子,并没有特别指出它。
  • 那我不明白你在问什么。我可以编写一个除了 JSON 之外什么都没有的文本文件,它仍然是 JSON。
  • ...它是否仅在语言的上下文中定义。任何语言都可以,我只是在问 JSON 作为一种语言独立存在,或者它是否可能是一个子集?
  • 它独立作为一种数据格式。它不是一种语言,在某种意义上它不是Turing complete.
  • 再说一次,XML 是一种“标记语言”,也不是图灵完备的,但它的名称中却包含“语言”。所以*你需要决定什么是符合这个问题的语言。
【解决方案2】:

JSON 是一种数据格式。它可以归类为一种语言,但不能归类为编程语言。

它与 JavaScript 的关系在于它与 JavaScript 文字的子集(或多或少)共享其语法。 JSON specification 完全定义了它;它不依赖于对 JavaScript 规范的引用。

【讨论】:

    【解决方案3】:

    根据计算机科学,JSON完成了语言的定义,所以它绝对是一种语言(和XML一样)。 Is 基本上是由字母符号组成的一组可能的字符串。它也有句法规则。

    但是它不是一种编程语言。在编程方面,它是一种格式或符号。

    【讨论】:

      【解决方案4】:

      我会将其归类为结构化数据格式,而不是语言。这个Wikipedia article about Turing completeness 总结得很好:

      图灵完备性的概念不适用于 XML、HTML、JSON、YAML 和 S 表达式等语言,因为它们通常用于表示结构化数据,而不是描述计算。这些有时被称为标记语言,或更恰当地称为“容器语言”或“数据描述语言”。

      【讨论】:

        猜你喜欢
        • 2010-12-12
        • 2011-10-21
        • 2012-12-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-01-19
        • 2010-09-12
        • 1970-01-01
        相关资源
        最近更新 更多