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 这个“排版工具”会越来越多人使用,还是会在短暂的流行之后退烧。
所有桌面、行动、后端、云端、IOT应用的开发者,不论是开发工程师、设计人员、产品经理、或是技术长,快来填问卷,协助大家了解现今开发者经济的生态样貌。问卷截止日为台湾时间 12 月 7 日(星期一),填完就有机会抽 iPhone 6s 手机、Sony Xperia Z5、Parrot AR.Drone 2.0、Google OnHub、Ubuntu Raspberry Pi 等多项开发者都喜爱的“玩具”喔。
- 点此填写:Vision Mobile 10 周年“开发者经济”问卷调查
(首图来源:flickr / Yuko Honda CC by 2.0)