VBScript 将从 Windows 上消失,微软放出弃用计划!

为什么要弃用 VB?

谈及为什么要弃用 VB,正如我们此前报道的,一方面,VB 自身迭代已经跟不上了时代的步伐,其中:

VB 的命令集相对较小,功能有限,难以处理复杂的任务;

不支持面向对象编程(OOP),这限制了其在大型应用开发中的使用;

这门语言本身是微软开发,主要支持 Windows 系统,这在如今的跨平台开发环境中是一个严重的限制;

还缺乏模块化和组件化、异步处理能力等多种能力...

更为让人无奈的是,不同于现代脚本语言通常都有活跃的维护团队,持续推出新版本,不断改进语言特性和性能,VB 缺乏持续的更新和维护,它的最新版本还停留在 14 年前的 2010 年 5.8 版本。

相比之下,2006 年 PowerShell 的出现以及Java 的流行对 VB 带来了致命的打击。

其中,PowerShell 不仅支持强大的脚本编写功能,可以处理复杂的自动化任务,还内置了大量功能强大的命令(Cmdlets),能够直接与系统、文件、注册表、服务和应用程序进行交互。PowerShell 基于 .NET 框架,能够处理对象,使数据操作和传递更加直观和高效。

另外,不像 VB 那样局限于 Internet Explorer,已经成为网页开发的标准脚本语言 Java 支持几乎所有现代浏览器(如 Chrome、Firefox、Safari 和 Edge)。Java 也拥有丰富的库和框架(如 React、Angular 和 Vue),极大地简化了现代 Web 应用的开发。

在二者的夹击下,VB 几乎无用武之地。

微软项目经理 Naveen Shankar 对此表示,“决定终止支持是为了过渡到更现代、更高效、更先进的选项......多年来,技术不断进步,催生出更强大、更通用的脚本语言,如 Java 和 PowerShell。这些语言提供了更广泛的功能,更适合现代 Web 开发和自动化任务。”

当然,微软在公告中特别做了解释,其声称,弃用是产品生命周期中的一个阶段,是指某一特性或功能不再处于积极开发阶段,并可能在产品或在线服务的未来版本中删除。

不过,「这是一个渐进的过程,可能持续几个月或几年。被淘汰的功能通常会被更好、更先进或功能性更强的功能所取代。在正式移除之前,该功能通常会继续运行并得到全面支持。移除后,该功能或能力将不再工作。移除过时的组件有助于降低复杂性,同时保证安全性和工作效率。」

弃用 VB 三步走

因此,微软也给已经使用了 VB 语言的应用程序预留出足够的过渡时间,其分享了三个阶段,直至 VB 从未来的 Windows 操作系统版本中完全退役。

阶段 1

在第一阶段,VB FOD(按需功能)将默认预安装在所有 Windows 11 版本 24H2 及以上版本中。

在这一时间段内,如果你的应用程序、进程等对 VB 有依赖,那么体验不会受到影响。

你可以在“开始”>“设置”>“系统”>“可选功能”中看到默认启用的 VB FOD。

Windows系统设置的屏幕截图显示VB安装在可选功能下

阶段2

微软计划到 2027 年,VB FOD 将不再默认启用。这意味着,如果到那时你的应用程序仍然依赖 VB,则需要手动启用 FOD,以防止应用程序和进程出现问题:

转到开始>设置>系统>可选功能。

选择顶部“添加可选功能”选项旁边的查看功能。

在搜索对话框中输入“VB”,然后选择结果旁边的复选框。

要启用已禁用的功能,请按下一步。

阶段3

VB 将从 Windows 的未来版本中退役并淘汰。这意味着 VB 的所有动态链接库(.dll 文件)都将被删除。因此,依赖 VB 的项目将停止运行。

当进入第三阶段时,微软建议所有使用 VB 的项目必须进行迁移。

如果你有依赖 VB 自动执行任务的网站或应用程序;或者使用 VB 自定义操作作为安装包中的一项功能,微软建议可以迁移到 PowerShell。

由于 VB 功能目前仅限于 IE 11 之前的浏览器,因此在 2027 年之后,微软官方建议这类网页统一迁移并使用 Java 语言。

VB 的退役,对你是否有影响?

随着 VB 的弃用,不少程序员感叹:

“在 Windows 和 office 的世界里,vbs 真是一个不错的东西”;

“21年前写下第一行 VB,纪念我逝去的青春”。

不过,也有网友对微软的建议并不买账:

我觉得 PowerShell 这门语言啰嗦而且不符合人体工程学。这艘船已经扬帆起航,但我希望微软能做些什么,让 Windows 自动化更接近其他平台,这样它就能从其他平台上的优秀软件中受益。 看来,VBA 将继续作为 MS Office 的编程前端语言而存在,这实在令人遗憾。他们不久前宣布 Excel 支持 Python,我希望它能作为 VBA 的可行替代品得到更好的推广。

迄今为止,我一直避免在向最终用户分发的任何文件中使用 Powershell,因为 Windows 默认禁用未签名脚本的执行。使用 VB 或 BAT 文件自动执行基本任务更容易,因为这些脚本可以不签名运行...... 我想,如果微软现在重新考虑默认启用 Powershell 脚本执行功能,那也未免太奢望了。

对此,你如何看待 VB 的淘汰?对你的应用程序是否有影响?返回搜狐,查看更多