去年 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 開發和自動化任務。”
當然,微軟在公告中特別做了解釋,其聲稱,棄用是產品生命周期中的一個階段,是指某一特性或功能不再處于積極開發階段,并可能在產品或在線服務的未來版本中刪除。
不過,「這是一個漸進的過程,可能持續幾個月或幾年。被淘汰的功能通常會被更好、更先進或功能性更強的功能所取代。在正式移除之前,該功能通常會繼續運行并得到全面支持。移除后,該功能或能力將不再工作。移除過時的組件有助于降低復雜性,同時保證安全性和工作效率。」