淺談 HTML 究竟是不是程式語言?

HTML

前言

有些人會說 HTML 是程式語言,但也有人說 HTMl 不是程式語言,所以這一篇就來淺談一下 HTML 究竟是不是程式語言~

程式語言的定義

首先我們先簡單認識一下程式語言的定義。

基本上程式語言就是用來讓我們跟電腦溝通的一種語言,通常他會預備一些語法讓我們可以用來跟電腦溝通,舉凡變數、條件判斷、迴圈、函式等等,這些都是程式語言的基本語法。

因此我們這邊可以知道一件事情,如果要被定義為程式語言的話,那麼基本準則就是它會有一些語法可以讓我們跟電腦溝通並且讓電腦去做一些事情。

HTML 是不是程式語言?

接下來進入正題了,也就是我們想探討的「談 HTML 究竟是不是程式語言?」,先講結論,HTML 不是程式語言

那麼為什麼會說 HTML 不是程式語言呢?首先我們先看到 Wiki 對於 HTML 的解釋

超文本標記語言(英語:HyperText Markup Language,簡稱:HTML)是一種用於建立網頁的標準標記語言。

我們可以看到 HTML 是一個用來建立網頁的標準標記語言,也就是說 HTML 是一種標記語言,而不是程式語言,這是第一個原因。

這時候你可能會想說「那它也是在跟電腦溝通啊?」

沒錯,確實是在溝通,但它其實只是在告訴瀏覽器說「我這邊有一個 h1 標籤,你要把這個標籤裡面的文字變成大標題」、「我這邊有一張圖片,你要把這張圖片顯示出來」,這些都是在告訴瀏覽器要做什麼事情,然後瀏覽器依照我們的指示去做事情,而這就是 HTML 的基本概念。

確實這種行為感覺上跟程式語言有 87% 像,但是我們在寫程式語言時,如 JavaScript 是會使用到變數、判斷以及迴圈,例如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
const myName = 'IsRayNotArray';
const obj = [
{
name: 'IsRayNotArray',
age: 18,
},
{
name: 'Ray',
age: 18,
}
];

for (let i = 0; i < obj.length; i++) {
if (obj[i].name === myName) {
console.log('找到了!');
}
}

透過上面的範例,就可以看出與我們在寫 HTML 時的差異,因為我們在 HTML 中根本沒辦法使用到變數、判斷以及迴圈,所以這就是第二個原因。

結論

最後我們簡單總結一下程式語言與 HTML 的差異:

  • 程式語言可以使用變數、判斷以及迴圈,但 HTML 不行
  • 程式語言可以讓電腦做一些事情,但 HTML 只是告訴瀏覽器畫面要怎麼顯示

那麼你可能這時候會好奇為什麼 EJS、Pug 等這類樣板語言會被歸類為程式語言呢?這是因為這些樣板語言其實是透過程式語言來產生 HTML,所以這些樣板語言才會被歸類為程式語言哩~

因此我們可以總結出一個結論,HTML 不是程式語言,但是樣板語言是程式語言

Liker 讚賞

這篇文章如果對你有幫助,你可以花 30 秒登入 LikeCoin 並點擊下方拍手按鈕(最多五下)免費支持與牡蠣鼓勵我。
或者你可以也可以請我「喝一杯咖啡(Donate)」。

Buy Me A Coffee Buy Me A Coffee

Google AD

撰寫一篇文章其實真的很花時間,如果你願意「關閉 Adblock (廣告阻擋器)」來支持我的話,我會非常感謝你 ヽ(・∀・)ノ