2010-01-21 72 views
3

所有这些标记语言都是编程语言吗?标记语言是否被视为编程语言?

例如XML或HTML是编程语言?

+0

Dup ...先搜索。 – 2010-01-21 20:08:56

+0

@ the_drow:小心链接? – GManNickG 2010-01-21 20:12:32

+0

相关,但不重复的问题:http://stackoverflow.com/questions/145176/is-html-considered-a-programming-language – 2010-01-21 20:33:09

回答

5

术语“编程语言”的定义不够严谨,因此无法得到很好的答案。这实际上取决于该术语的使用环境。在许多情况下(通常如果像C++,D或Java这样的语言被大量提及),“编程语言”必须是图灵完备的。但是,XML和HTML确实符合更宽松的标准。他们有一个文法,并且是向计算机表达你想要做什么的文本手段。因此,在某些情况下,它们可以被视为声明性编程语言。

1

这取决于语言。当然有完整的标记语言(包括XMLish),尽管它们很丑,但它们并不常见。

5

标记语言可以更准确地称为数据描述语言。他们描述你的数据。

编程语言用于指示计算机执行逻辑。

+0

你在哪里画线? TeX:标记或编程语言? XSLT:标记或编程语言(请记住XSLT **是** XML)?后记? ... S表达式? M-表达式?这些实际上很好地说明了程序*是*数据。 – 2010-01-21 20:17:21

0

由于这些术语是最常用的术语,我认为HTML和纯XML都不属于编程语言领域。

也就是说,相当多的HTML包含一些JavaScript代码片断,几乎所有的定义都必须将其视为一种编程语言。同样,XML中的“X”缺少可扩展性。这(间接)意味着您可以将几乎任何想要的含义附加到XML中存储的内容。在这种情况下,源代码的结构和XML的结构可以直接相互反映。尽管如此,这些标记语言的实例实际上是针对以某种单独定义的编程语言编写的代码的源代码(或目标代码,尽管这样做不太常见)的容器,其不会改变标记语言本身并不是一门真正的编程语言。

有更多的模棱两可的案件(例如定义动画在HTML与CSS),但是当他们接近边界,至少有正确的副手没有发生,我认为真正十字边境到如此地步,你毫不含糊地称无论是编程语言。