微软决心移除 Windows 中已用 27 年的旧技术,VBScript 走向末路
近段时间,微软内部正在用新技术不断刷新内部应用,譬如其使用Rust 取代 C/C 编写 Windows 驱动;放弃了 Electron 框架而采用 Edge WebView2来重写Teams;WordPad 停止更新,官方建议采用 Microsoft Word 或者 Windows 记事本;Microsoft Store 的 Web 版本中放弃旧的 React 代码库取而代之使用的是 Shoelace、Lit、Vite 和 C# ASPNET 后端的现代 Web 版本......
当前,这家科技巨头在“Windows 客户端已弃用功能”列表中又添加了一名新成员——VBScript。微软计划在未来的 Windows 版本中逐步淘汰已使用了近30年的VBScript,“最初,VBScript 按需功能将被预安装,以便在您准备淘汰 VBScript 之前可以无缝使用,直至后续被完全删除。”
诞生于27年前,13年未更新
作为一种脚本语言,VBScript 于1996年首次亮相,凭借易于学习、与 Windows 环境无缝集成、可用于网页编程等方便的功能特性,它在 Windows 平台曾被广泛使用,尤其是在网页脚本和自动化任务方面。
“微软 Visual Basic Scripting Edition 在各种环境中实现了自动化脚本,包括在 IE 中进行 Web 客户端脚本编程以及在 Microsoft Internet Information Services 中进行 Web 服务器脚本编程,”微软在其帮助文档中解释道。
这也成为很多程序员的编程的回忆:
我的入门语言便是 VBScript;
在曾经看《计算机是怎样跑起来的》这本书时,我使用 Visual Basic Scripting Edition 复现了“剪刀石头布”小游戏。
遗憾的是,一方面,随着2006年 PowerShell 的推出,VBScript 黯然失色,很多人将其看成被滥用的安全噩梦;另一方面,微软从未设法让其他浏览器制造商支持 VBScript,因此在微软专有的环境之外,Web 开发人员倾向于使用 JavaScript 来执行客户端任务,使用 VBScript 的用户越来越少。
最终,VBScript 的最新版本停留在了2010年5.8版本。
如今,微软宣布在过渡期,VBScript 将作为按需安装使用,其中功能按需 (FODs) 是 Windows 操作系统中的可选功能,如 .NET Framework(.NetFx3)、Hyper-V 和 Windows Subsystem for Linux,它们不会默认安装,但可以根据需要随时添加。
试图拯救 VBScript 的开发者
面对这种情况,曾经有不少 VBScript 爱好者不愿放弃,试图挽救。
据 TheRegister 报道,2017年,微软软件工程师 Zhihua Lai 创建了一个名为 IsVBScriptDead.com(https://isvbscriptdead.com/)的网站,他在网站开篇便写到,「VBScript 或 VBA 既没有消亡,也没有垂死,它仍然是一种非常稳定的脚本语言」。
然而,两年后的2019年8月,微软已经表现出不想再用 VBScript 的预兆,其在 IE 中禁用了 VBScript,并在2022年6月淘汰了 IE 浏览器,因此 VBScript 仍然活跃且运行良好的说法变得更加站不住脚。
尽管如此,最后更新于2020年12月31日的 VBScript 网站坚持称:"VBScript 可能看起来已经过时,而对 VBScript 的支持已经停止,但它仍然在许多地方使用。Windows 管理员可能会发现学习/编写 VBScript 比 Powershell 脚本更容易。"
现在随着微软最新举措的发布,彻底证实了VBScript 即将彻底消亡,这也意味着依赖于VBScript 的Microsoft Deployment Toolkit(MDT)迎来了结束。现在,MDT 已经收到通知,不再支持 Windows11。
另外,Microsoft 还默认禁用了 Windows10上 Internet Explorer11中的 VBScript。
VBScript 为何会走向末路?
截至目前,微软并没有透露弃用 VBScript 的细节,但是不少开发者猜测,它可能与微软早些时候停用 IE 浏览器有关。
从外部来看,微软计划停用 VBScript 也有可能是出于安全担忧,正如上文所述,VBScript 是不少安全工程师的噩梦,它成为恶意软件传播途径之一。
此前,有不少黑客使用 VBScript 来分发恶意软件感染用户的计算机,包括臭名昭著 Lokibot、Emotet、Qbot,以及最近的 DarkGate 等恶意软件。
而从内部来看,VBScript 是一个 Windows 特定的技术,无法跨平台运行。随着移动设备和其他操作系统的普及,这使得它在多平台环境中变得不切实际。与此同时,外部如 JavaScript、PowerShell 和 Python 等更强大、更现代的脚本语言和技术出现,VBScript 变得过时显而易见。
面对 VBScript 的淘汰,不少网友似乎“喜闻乐见”:
大约20年前,我曾使用过它来编写一些脚本,用于操作和报告其他内容的文本文件输出。如果我当时使用的是 Linux 系统而不是 Windows 系统,我本可以使用 awk,但当时使用的是 Windows,我不被允许安装不是原本就存在的东西。
我对它的记忆很模糊,但我确实记得它... 糟糕透了。我没有再次体验的愿望。
我怀疑它不会被怀念,除了一小部分人,他们继承了一些古老的脚本,必须对其进行逆向工程和重写成其他不那么晦涩的东西。
你是否使用过 VBScript?对于它还有什么样的印象?
参考:
https://learn.microsoft.com/en-us/windows/whats-new/deprecated-features
https://www.theregister.com/2023/10/10/microsoft_says_vbscript_will_be/
- 0000
- 0001
- 0000
- 0002
- 0000