歡迎光臨
每天分享高質量文章

Python 標準庫或將面臨大規模清洗

(點選上方快速關註並設定為星標,一起學Python)

來源:程式設計派  連結:

https://mp.weixin.qq.com/s/Wc8KLU_IDP6NlGa-JjaudA

 

Python一直被稱為“內建電池”(batteries included)的程式語言,這一直被作為Python的一個優勢在宣傳。但是經過多年的發展,Python內建的很多“電池”已經不好用了,或者因為外部工具或平臺的變化導致已經無用武之地了。這也引來了很多 Python 開發者的批評之聲。

在 2019 年的美國 PyCon 大會上,來自知名專案 Twisted 的一位開發者在她的演講中,就對 Python 的標準庫進行了激烈的批評,甚至氣得 Python 之父奪門而出。她說:

Python “內建的電池”已經開始漏電了。

摘錄幾個核心觀點與大家分享:

  1. 標準庫無法滿足應用開發的需要,很多庫甚至依賴 PyPI 上的庫
  2. 程式碼質量差,功能滯後,甚至有很多模組幾乎不再被使用,如 tkinter
  3. 標準庫阻礙了創新,如 asyncio 的出現導致對 Twisted 的質疑

在批評者看來,這些“廢舊電池”的存在,不僅增加了Python每次升級版本時維護標準庫的工作量,而且會誤導新手使用一些不那麼優秀的方法。不管怎麼看,“廢舊電池”都是丟棄掉更加划算。

核心開發者中也曾對標準庫中部分模組的廢棄進行過討論。上個月20日,一位名為 Christian Heimes 的開發者甚至了專門的 PEP 594 提議,建議將標準庫中那些已經無人使用的模組移除。他給出的理由與 Twisted 開發者類似:

時代已經變了。PyPI、pip 等工具的廣泛使用,讓包的安裝變得異常簡單,而且逐漸成為標準操作。另一方面,標準庫中堆積了太多不必要、重覆、可廢棄的功能。

不過 PEP 594 中建議的移除過程還是比較溫和的。最開始只是在 3.8 版本的檔案中建議不要使用,然後在 3.9 版本中給一些警告提示,最後大家都知道模組準備移除了之後才會真的移除。

圖1:PEP 594 中建議移除的模組串列

大部分的移除工作會在Python 3.10完成。而目前穩定版本是 Python 3.7,Python3.8 還在開發中,3.10釋出差不多還要3年時間

PEP 594 地址如下:https://www.python.org/dev/peps/pep-0594/ 。

你對 Python 標準庫的如何看?日常應用開發中是否像批評者所說的那樣,使用第三方庫的比例,遠大於標準庫呢?歡迎留言一起討論。

贊(0)

分享創造快樂