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