去年 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 开发和自动化任务。”
当然,微软在公告中特别做了解释,其声称,弃用是产品生命周期中的一个阶段,是指某一特性或功能不再处于积极开发阶段,并可能在产品或在线服务的未来版本中删除。
不过,「这是一个渐进的过程,可能持续几个月或几年。被淘汰的功能通常会被更好、更先进或功能性更强的功能所取代。在正式移除之前,该功能通常会继续运行并得到全面支持。移除后,该功能或能力将不再工作。移除过时的组件有助于降低复杂性,同时保证安全性和工作效率。」
弃用 VBScript 三步走
因此,微软也给已经使用了 VBScript 语言的应用程序预留出足够的过渡时间,其分享了三个阶段,直至 VBScript 从未来的 Windows 操作系统版本中完全退役。
阶段 1
在第一阶段,VBScript FOD(按需功能)将默认预安装在所有 Windows 11 版本 24H2 及以上版本中。
在这一时间段内,如果你的应用程序、进程等对 VBScript 有依赖,那么体验不会受到影响。
你可以在“开始” > “设置” > “系统” > “可选功能”中看到默认启用的 VBScript FOD。
Windows系统设置的屏幕截图显示VBScript安装在可选功能下
阶段2
微软计划到 2027 年,VBScript FOD 将不再默认启用。这意味着,如果到那时你的应用程序仍然依赖 VBScript,则需要手动启用 FOD,以防止应用程序和进程出现问题:
转到开始>设置>系统>可选功能。
选择顶部“添加可选功能”选项旁边的查看功能。
在搜索对话框中输入“VBSCRIPT”,然后选择结果旁边的复选框。
要启用已禁用的功能,请按下一步。
阶段3
VBScript 将从 Windows 的未来版本中退役并淘汰。这意味着 VBScript 的所有动态链接库(.dll 文件)都将被删除。因此,依赖 VBScript 的项目将停止运行。
当进入第三阶段时,微软建议所有使用 VBScript 的项目必须进行迁移。
如果你有依赖 VBScript 自动执行任务的网站或应用程序;或者使用 VBScript 自定义操作作为安装包中的一项功能,微软建议可以迁移到 PowerShell。
由于 VBScript 功能目前仅限于 IE 11 之前的浏览器,因此在 2027 年之后,微软官方建议这类网页统一迁移并使用 JavaScript 语言。
VBScript 的退役,对你是否有影响?
随着 VBScript 的弃用,不少程序员感叹:
“在 Windows 和 office 的世界里,vbs 真是一个不错的东西”;
“21年前写下第一行 VBScript,纪念我逝去的青春”。
不过,也有网友对微软的建议并不买账:
我觉得 PowerShell 这门语言啰嗦而且不符合人体工程学。这艘船已经扬帆起航,但我希望微软能做些什么,让 Windows 自动化更接近其他平台,这样它就能从其他平台上的优秀软件中受益。
看来,VBA 将继续作为 MS Office 的编程前端语言而存在,这实在令人遗憾。他们不久前宣布 Excel 支持 Python,我希望它能作为 VBA 的可行替代品得到更好的推广。
迄今为止,我一直避免在向最终用户分发的任何文件中使用 Powershell,因为 Windows 默认禁用未签名脚本的执行。使用 VBScript 或 BAT 文件自动执行基本任务更容易,因为这些脚本可以不签名运行...... 我想,如果微软现在重新考虑默认启用 Powershell 脚本执行功能,那也未免太奢望了。
对此,你如何看待 VBScript 的淘汰?对你的应用程序是否有影响?
来源:
https://techcommunity.microsoft.com/t5/windows-it-pro-blog/vbscript-deprecation-timelines-and-next-steps/ba-p/4148301
本文暂时没有评论,来添加一个吧(●'◡'●)