去年 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 开发和自动化任务。”
当然,微软在公告中特别做了解释,其声称,弃用是产品生命周期中的一个阶段,是指某一特性或功能不再处于积极开发阶段,并可能在产品或在线服务的未来版本中删除。
不过,「这是一个渐进的过程,可能持续几个月或几年。被淘汰的功能通常会被更好、更先进或功能性更强的功能所取代。在正式移除之前,该功能通常会继续运行并得到全面支持。移除后,该功能或能力将不再工作。移除过时的组件有助于降低复杂性,同时保证安全性和工作效率。」