Programming languages 标记语言是否被视为编程语言?

Programming languages 标记语言是否被视为编程语言?,programming-languages,definition,Programming Languages,Definition,所有这些标记语言都是编程语言吗 例如,XML或HTML是编程语言?这取决于语言。当然,有图灵完整标记语言(包括XMLish),但它们并不常见,因为它们很难看。标记语言可以更准确地称为数据描述语言。他们描述了你的数据 而编程语言是用来指导计算机执行逻辑的。术语“编程语言”的定义不够严格,因此没有一个好的答案。这实际上取决于使用该术语的上下文。在很多上下文中(通常如果语言如C++、D或java被大量提及),“编程语言”必须是图灵完成。然而,XML和HTML确实满足一组更宽松的标准。它们有语法,是向计

所有这些标记语言都是编程语言吗


例如,XML或HTML是编程语言?

这取决于语言。当然,有图灵完整标记语言(包括XMLish),但它们并不常见,因为它们很难看。

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


而编程语言是用来指导计算机执行逻辑的。

术语“编程语言”的定义不够严格,因此没有一个好的答案。这实际上取决于使用该术语的上下文。在很多上下文中(通常如果语言如C++、D或java被大量提及),“编程语言”必须是图灵完成。然而,XML和HTML确实满足一组更宽松的标准。它们有语法,是向计算机表达您希望它做什么的文本方式。因此,在某些上下文中,它们可以被视为声明性编程语言。

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

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


有更多的边界情况(例如,用CSS定义HTML动画),但当它们接近边界时,至少在我看来,没有一种情况会真正跨越边界,以至于你毫不含糊地称之为编程语言。

@the_drow:Care to link?Related,但不是重复的问题:你的底线在哪里?TeX:标记还是编程语言?XSLT:标记还是编程语言(请记住XSLT是XML)?附言…S-表达式?M-表达式?这些事实很好地说明了程序是数据。