去年 10 月,微軟提前在“Windows 客戶端已棄用功能”列表中預(yù)告了一名新成員——VBScript 的存在,讓眾人做好棄用這門語言的準(zhǔn)備。
時(shí)光飛逝,近日,微軟正式發(fā)布了一篇長文公告,分享了關(guān)于《棄用 VBScript:時(shí)間表和后續(xù)步驟》的最新動(dòng)態(tài),宣布 VBScript 的淘汰會(huì)分為「三步走」:一是最初會(huì)將 VBScript 作為 Windows 操作系統(tǒng)中的一項(xiàng)可選功能,默認(rèn)開啟;二是取消默認(rèn)開啟;三是計(jì)劃在 2027 年之后完全將該功能從 Windows 上移除。
毋庸置疑,此舉不僅意味著棄用 VBScript 已經(jīng)成為板上釘釘?shù)氖虑?,同時(shí)也標(biāo)志著一個(gè)時(shí)代的終結(jié)。
VBScript 的 28 年
回看過往,VBScript(Visual Basic Scripting Edition)是微軟在 1996 年首次推出的一種輕量級(jí)腳本語言。
在早期的互聯(lián)網(wǎng)時(shí)代,VBScript 被用來為網(wǎng)頁添加客戶端交互功能,類似于JavaScript。通常它被嵌入在 HTML 頁面中,并與 ASP 和 WSH(Windows Script Host)等技術(shù)結(jié)合使用。
這門語言也作為 Windows 操作系統(tǒng)中的系統(tǒng)組件提供,系統(tǒng)管理員一般都喜歡用 VBScript 編寫腳本來實(shí)現(xiàn)各種自動(dòng)化管理任務(wù),如文件操作、注冊表編輯、用戶賬戶管理和網(wǎng)絡(luò)配置等。
在 Office 應(yīng)用上,盡管 VBA 更為常用一些,但是也有不少開發(fā)者將 VBScript與 Office 應(yīng)用程序(如 Excel、Word 和 Outlook)集成,用于自動(dòng)化任務(wù)和宏編寫。
再者,在軟件測試領(lǐng)域,VBScript 被用作一些測試自動(dòng)化工具(如 QTP/UFT,現(xiàn)稱為 Micro Focus UFT)的腳本語言。測試人員使用 VBScript 編寫測試腳本來自動(dòng)化軟件測試流程。
受益于這些領(lǐng)域,外加簡單易學(xué)的特性,VBScript 也成為不少程序員的啟蒙語言,快速理解編程概念和腳本編寫。
據(jù)最新的 TIOBE 榜單顯示,VBScript 經(jīng)過了 28 年的發(fā)展至今,使用率仍有 0.34%。這也意味著有不少遺留應(yīng)用程序、工具中仍然存在不少 VBScript 的代碼。
為什么要棄用 VBScript?
談及為什么要棄用 VBScript,正如我們此前報(bào)道的,一方面,VBScript 自身迭代已經(jīng)跟不上了時(shí)代的步伐,其中:
-
VBScript 的命令集相對(duì)較小,功能有限,難以處理復(fù)雜的任務(wù);
-
不支持面向?qū)ο缶幊蹋∣OP),這限制了其在大型應(yīng)用開發(fā)中的使用;
-
這門語言本身是微軟開發(fā),主要支持 Windows 系統(tǒng),這在如今的跨平臺(tái)開發(fā)環(huán)境中是一個(gè)嚴(yán)重的限制;
-
還缺乏模塊化和組件化、異步處理能力等多種能力...
更為讓人無奈的是,不同于現(xiàn)代腳本語言通常都有活躍的維護(hù)團(tuán)隊(duì),持續(xù)推出新版本,不斷改進(jìn)語言特性和性能,VBScript 缺乏持續(xù)的更新和維護(hù),它的最新版本還停留在 14 年前的 2010 年 5.8 版本。
相比之下,2006 年 PowerShell 的出現(xiàn)以及 JavaScript 的流行對(duì) VBScript 帶來了致命的打擊。
其中,PowerShell 不僅支持強(qiáng)大的腳本編寫功能,可以處理復(fù)雜的自動(dòng)化任務(wù),還內(nèi)置了大量功能強(qiáng)大的命令(Cmdlets),能夠直接與系統(tǒng)、文件、注冊表、服務(wù)和應(yīng)用程序進(jìn)行交互。PowerShell 基于 .NET 框架,能夠處理對(duì)象,使數(shù)據(jù)操作和傳遞更加直觀和高效。
另外,不像 VBScript 那樣局限于 Internet Explorer,已經(jīng)成為網(wǎng)頁開發(fā)的標(biāo)準(zhǔn)腳本語言 JavaScript 支持幾乎所有現(xiàn)代瀏覽器(如 Chrome、Firefox、Safari 和 Edge)。JavaScript 也擁有豐富的庫和框架(如 React、Angular 和 Vue),極大地簡化了現(xiàn)代 Web 應(yīng)用的開發(fā)。
在二者的夾擊下,VBScript 幾乎無用武之地。
微軟項(xiàng)目經(jīng)理 Naveen Shankar 對(duì)此表示,“決定終止支持是為了過渡到更現(xiàn)代、更高效、更先進(jìn)的選項(xiàng)......多年來,技術(shù)不斷進(jìn)步,催生出更強(qiáng)大、更通用的腳本語言,如 JavaScript 和 PowerShell。這些語言提供了更廣泛的功能,更適合現(xiàn)代 Web 開發(fā)和自動(dòng)化任務(wù)。”
當(dāng)然,微軟在公告中特別做了解釋,其聲稱,棄用是產(chǎn)品生命周期中的一個(gè)階段,是指某一特性或功能不再處于積極開發(fā)階段,并可能在產(chǎn)品或在線服務(wù)的未來版本中刪除。
不過,「這是一個(gè)漸進(jìn)的過程,可能持續(xù)幾個(gè)月或幾年。被淘汰的功能通常會(huì)被更好、更先進(jìn)或功能性更強(qiáng)的功能所取代。在正式移除之前,該功能通常會(huì)繼續(xù)運(yùn)行并得到全面支持。移除后,該功能或能力將不再工作。移除過時(shí)的組件有助于降低復(fù)雜性,同時(shí)保證安全性和工作效率?!?/p>