軟體圈大哉問:HTML 算不算程式語言?

作者 | 發布日期 2015 年 12 月 03 日 18:01 | 分類 網路 , 軟體、系統 follow us in feedly

HTML 是一種專為網頁瀏覽器設計的標記語言,但它到底算不算是真正的程式語言呢?可能有些人認為不是,但當全球有 11 % 的開發者都以 HTML 做為主要開發工具,那它是否就能「母憑子貴」,加入程式語言的家族呢?




APP 經濟與開發者趨勢調查公司 Vision Mobile,在 2015 年上半年對 1.3 萬名開發者做問卷調查,並將分析結果寫成〈開發者經濟報告〉。其中有 11% 的開發者以編寫網頁的基本語言「HTML」做為主要的開發語言。這結果又挑起軟體界的大哉問 ── HTML 到底算不算是程式語言?又或者它應該算作為 JavaScript 而生的排版工具?

有人會猜想,或許這 11% 以 HTML 為主要開發語言的開發者,事實上是 JaveScript 工程師,只是用 HTML 的時間比較多一些,才會這樣回答的。但這猜想很快就被其它數據反駁了。在〈開發者經濟報告〉中,開發者可以同時選擇多種程式語言,包含 JavaScript、C、Jave、HTML 5 等,多數開發者使用超過一種程式語言,而那 11% 以 HTML 作為主要開發語言的開發者,只有 13% 會用 JavaScript,另外有 14% 會用 ActionScript,更讓人意想不到的是,有 12% 說他們在執行專案開發時,也會用 C/C++,但這兩個看起來完全不搭軋。

1203-html developer eco

 

HTML 原先並非設計為程式語言

如果那麼多人都使用 HTML 為主要開發語言,為什麼軟體界卻不願意將它列為程式語言?那是因為 HTML 當初就不是為程式語言所設計。

HTML 的全稱是 Hypertext Markup Language,超文本標示語言,它可以用來做文字的基本排版,一開始甚至只有 18 個標籤(Tag)。比較有意思的標籤是超連結標籤,這個顛覆性的概念創造了現在的網頁,相較起來其他的標籤就不太重要了,像是字體大小、分段落這類。

但 HTML一路以來持續「進化」,增加了像是拖放(Drag and Drop)功能、地理位置定位(Geolocation)功能、本地儲存(Local Storage)功能等,這些功能讓 HTML在網頁或應用程式的界線越來越模糊,甚至已經出現單純以 HTML 開發出來的應用程式,數量也越來越多。

「Zero Lines JS」就是一個典型只以 HTML 和 CSS 開發的圖像遊戲,從遊戲的命名就可以看出完全沒有使用 JaveScript,遊戲時玩家會在一艘船艦裡巡航,並以越來越快的速度接進敵人,同時還配上些許惱人且會加速的音效。或許它不如Candy Crush、Watch Dogs 這些遊戲,可能也追不上它們的聲光效果,但不可否認的,它已經是應用程式了。

 

HTML 功能漸強,但軟體界仍存在歧視

軟體界已經不像過去那麼階級分明,但那些與底層硬體溝通的後端開發者,仍會瞧不起前端開發者,認為他們的硬體知識不足。像是使用 C 語言的開發者會認為以物件為導向的 C++ 很不必要,然而這兩種語言的開發者又會一致認為那些不能在編輯程式裡跑出來的東西(像是 Java)都不恰當;Java 開發者也會把沒有封裝好的東西視為不符合物件導向設計;而JavaScript 開發者又會看不起 HTML,認為它只是一個排版工具……。

儘管 HTML 地位如此低,Vision Mobile 認為,在越來越多人以 HTML5 為主要開發語言之下,應該要考慮將它視為程式語言的一種。透過 Vision Mobile 於 2015 下半年度的調查,我們即將可以看到究竟 HTML5 這個「排版工具」會越來越多人使用,還是會在短暫的流行之後退燒。

所有桌面、行動、後端、雲端、IOT應用的開發者,不論是開發工程師、設計人員、產品經理、或是技術長,快來填問卷,協助大家瞭解現今開發者經濟的生態樣貌。問卷截止日為台灣時間 12 月 7 日(星期一),填完就有機會抽 iPhone 6s 手機、Sony Xperia Z5、Parrot AR.Drone 2.0、Google OnHub、Ubuntu Raspberry Pi 等多項開發者都喜愛的「玩具」喔。

 

 

(首圖來源:flickr / Yuko Honda CC by 2.0) 

發表迴響