2010-01-21 105 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),但是當他們接近邊界,至少有正確的副手沒有發生,我認爲真正十字邊境到如此地步,你毫不含糊地稱無論是編程語言。