软件圈大哉问:HTML 算不算程序语言?

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++,但这两个看起来完全不搭轧。

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 这个“排版工具”会越来越多人使用,还是会在短暂的流行之后退烧。

加载余下内容▼

相关文章:

;