去年 10 月,微软提前在“windows 客户端已弃用功能”列表中预告了一名新成员——vbscript 的存在,让众人做好弃用这门语言的准备。
时光飞逝,近日,微软正式发布了一篇长文公告,分享了关于《弃用 vbscript:时间表和后续步骤》的最新动态,宣布 vbscript 的淘汰会分为「三步走」:一是最初会将 vbscript 作为 windows 操作系统中的一项可选功能,默认开启;二是取消默认开启;三是计划在 2027 年之后完全将该功能从 windows 上移除。
毋庸置疑,此举不仅意味着弃用 vbscript 已经成为板上钉钉的事情,同时也标志着一个时代的终结。
vbscript 的 28 年
回看过往,vbscript(visual basic scripting edition)是微软在 1996 年首次推出的一种轻量级脚本语言。
在早期的互联网时代,vbscript 被用来为网页添加客户端交互功能,类似于javascript。通常它被嵌入在 html 页面中,并与 asp 和 wsh(windows script host)等技术结合使用。
这门语言也作为 windows 操作系统中的系统组件提供,系统管理员一般都喜欢用 vbscript 编写脚本来实现各种自动化管理任务,如文件操作、注册表编辑、用户账户管理和网络配置等。
在 office 应用上,尽管 vba 更为常用一些,但是也有不少开发者将 vbscript与 office 应用程序(如 excel、word 和 outlook)集成,用于自动化任务和宏编写。
再者,在软件测试领域,vbscript 被用作一些测试自动化工具(如 qtp/uft,现称为 micro focus uft)的脚本语言。测试人员使用 vbscript 编写测试脚本来自动化软件测试流程。
受益于这些领域,外加简单易学的特性,vbscript 也成为不少程序员的启蒙语言,快速理解编程概念和脚本编写。
据最新的 tiobe 榜单显示,vbscript 经过了 28 年的发展至今,使用率仍有 0.34%。这也意味着有不少遗留应用程序、工具中仍然存在不少 vbscript 的代码。
为什么要弃用 vbscript?
谈及为什么要弃用 vbscript,正如我们此前报道的,一方面,vbscript 自身迭代已经跟不上了时代的步伐,其中:
-
vbscript 的命令集相对较小,功能有限,难以处理复杂的任务;
-
不支持面向对象编程(oop),这限制了其在大型应用开发中的使用;
-
这门语言本身是微软开发,主要支持 windows 系统,这在如今的跨平台开发环境中是一个严重的限制;
-
还缺乏模块化和组件化、异步处理能力等多种能力...
更为让人无奈的是,不同于现代脚本语言通常都有活跃的维护团队,持续推出新版本,不断改进语言特性和性能,vbscript 缺乏持续的更新和维护,它的最新版本还停留在 14 年前的 2010 年 5.8 版本。
相比之下,2006 年 powershell 的出现以及 javascript 的流行对 vbscript 带来了致命的打击。
其中,powershell 不仅支持强大的脚本编写功能,可以处理复杂的自动化任务,还内置了大量功能强大的命令(cmdlets),能够直接与系统、文件、注册表、服务和应用程序进行交互。powershell 基于 .net 框架,能够处理对象,使数据操作和传递更加直观和高效。
另外,不像 vbscript 那样局限于 internet explorer,已经成为网页开发的标准脚本语言 javascript 支持几乎所有现代浏览器(如 chrome、firefox、safari 和 edge)。javascript 也拥有丰富的库和框架(如 react、angular 和 vue),极大地简化了现代 web 应用的开发。
在二者的夹击下,vbscript 几乎无用武之地。
微软项目经理 naveen shankar 对此表示,“决定终止支持是为了过渡到更现代、更高效、更先进的选项......多年来,技术不断进步,催生出更强大、更通用的脚本语言,如 javascript 和 powershell。这些语言提供了更广泛的功能,更适合现代 web 开发和自动化任务。”
当然,微软在公告中特别做了解释,其声称,弃用是产品生命周期中的一个阶段,是指某一特性或功能不再处于积极开发阶段,并可能在产品或在线服务的未来版本中删除。
不过,「这是一个渐进的过程,可能持续几个月或几年。被淘汰的功能通常会被更好、更先进或功能性更强的功能所取代。在正式移除之前,该功能通常会继续运行并得到全面支持。移除后,该功能或能力将不再工作。移除过时的组件有助于降低复杂性,同时保证安全性和工作效率。」