由于使用者過少,MongoDB宣布棄用Perl驅(qū)動(dòng)。
MongoDB高級(jí)產(chǎn)品經(jīng)理Scott L'Hommedieu表示,在過去幾年中,團(tuán)隊(duì)調(diào)查了用戶群體,并與使用Perl驅(qū)動(dòng)的公司進(jìn)行交流,得到的反饋是,用戶對(duì)于通過Perl驅(qū)動(dòng)支持MongoDB新功能的要求極少。另一邊,MongoDB社區(qū)自2018年以來,沒有用戶詢問過Perl驅(qū)動(dòng)相關(guān)的問題。
這就意味著,現(xiàn)在只有極少數(shù)人在使用MongoDB Perl驅(qū)動(dòng),而只有當(dāng)人們使用的時(shí)候,驅(qū)動(dòng)才有存在的意義。對(duì)于項(xiàng)目的開發(fā)團(tuán)隊(duì)來的,工程師的時(shí)間與精力需要專注于能夠讓大多數(shù)用戶受益的地方,比如Perl的現(xiàn)代化替代品Python、Go與Node.js。所以MongoDB決定不再維護(hù)Perl驅(qū)動(dòng)。
MongoDB Perl驅(qū)動(dòng)將以優(yōu)雅、社區(qū)友好的方式棄用,具體是在2.2.0版本發(fā)布的12個(gè)月后正式結(jié)束生命周期(2020年8月13日)。在這12個(gè)月中,開發(fā)團(tuán)隊(duì)將為該驅(qū)動(dòng)提供關(guān)鍵/安全修復(fù)程序。在eof之后,如果有任何希望維護(hù)Perl驅(qū)動(dòng)的Perl社區(qū)成員,可以與MongoDB社區(qū)管理員聯(lián)系,源碼可以fork出來。
此公告還附帶了MongoDB Perl 2.2.0 GA版本的更新說明,更新內(nèi)容主要是:
支持MongoDB 4.2的功能,包括分布式事務(wù)、更新命令管道和$merge聚合狀態(tài)。
可重試讀操作。
會(huì)話的“with_transaction”回調(diào)API。
Perl還能行嗎?
Perl是一種高級(jí)、通用、直譯式、動(dòng)態(tài)的編程語言,它汲取了C、sed、awk與Shell腳本以及眾多其它編程語言的特性,其中最重要的特性是內(nèi)置正則表達(dá)式,以及強(qiáng)大的第三方代碼庫CPAN(the Comprehensive Perl Archive Network,全面的Perl存檔網(wǎng)絡(luò))。
Perl的特點(diǎn)是追求簡(jiǎn)單,它的一個(gè)追求是:簡(jiǎn)單的事情就讓它簡(jiǎn)單,困難的事情就讓它變得可解。
開發(fā)者直言:“解決一個(gè)一般的問題只用幾行代碼就搞定,而面對(duì)稍微復(fù)雜一點(diǎn)的問題,代碼行數(shù)也不會(huì)超過一屏。”
另一方面,Perl的靈活性也很強(qiáng),它被稱為腳本語言中的“瑞士軍刀”,Perl的中心思想可以概括為:可以用多種方法實(shí)現(xiàn)。
Perl可以運(yùn)行在超過100種計(jì)算機(jī)平臺(tái)上,適用性非常廣泛,從大型機(jī)到便攜設(shè)備、從快速原型創(chuàng)建到大規(guī)模可擴(kuò)展開發(fā)都可以一把梭,除CGI以外,它還被用于圖形編程、系統(tǒng)管理、網(wǎng)絡(luò)編程、金融、生物以及其它領(lǐng)域。然而從近來各種消息來看,Perl似乎不太行了。
上個(gè)月TIOBE編程語言排行榜中,TIOBE官方使用的標(biāo)題是:Perl is one of the victims of Python's hype(Perl成為過分炒作Python的受害者)。Perl當(dāng)時(shí)在TIOBE榜單中位于第19位,這是有史以來的最低的一次,要知道,在2005年P(guān)erl曾坐過第三名的位置,而當(dāng)時(shí)其Ratings指數(shù)超過10%。另一方面,Perl 6被單獨(dú)統(tǒng)計(jì),而它僅排在93位。
Python等同類型語言的崛起,加上Perl的非常規(guī)語法及其不明確的未來(Perl 5與Perl 6之間的差異),對(duì)Perl造成了極大的傷害。
另一方面,為科技專業(yè)人群提供分析的網(wǎng)站Dice Insights近期指出,目前開發(fā)人員普遍使用其它語言構(gòu)建網(wǎng)站,Perl的采用變得越來越窄,同時(shí)Perl本身幾乎沒有進(jìn)行積極開發(fā),所以Perl將會(huì)衰落。關(guān)于Perl沒有采用率與本身沒有積極發(fā)展,這一點(diǎn)在前邊描述的MongoDB Perl驅(qū)動(dòng)缺乏活力中似乎就可以直觀感受到。