[新聞] Python之父宣布永久卸下「仁慈的獨裁者…

作者: winter0128 (winter0128)   2018-07-13 18:18:44
出處:https://www.ithome.com.tw/news/124556
在2月提出的PEP 572讓Python社群整個沸騰,支持與反對派爭論不休,Guido van Rossum最後以BDFL身分斷然接受。但後續輿論發展使她身心俱疲,並於昨日突宣布離開仁慈的獨裁者(BDFL)的位子,並要社群建立之後的決策程序。
文/李建興 | 2018-07-13發表
被稱為仁慈的獨裁者(Benevolent Dictator For Life,BDFL)的Python之父Guido van Rossum,7月12日在郵件列表對社群宣布,經過了PEP 572之亂後,有鑑於他花費許多心力卻換來很人批評他的決定,因此他宣布給自己在BDFL這個職務上放一個長假,而且不會指定後繼人選,社群可以依照自由意志制定新的決策方法。
Guido van Rossum在這封以Transfer of Power為標題的信中表示,PEP 572已經完成,他從來不想要為了一個PEP打得這麼用力,更何況許多人對於他的決定不以為然。因此他想把自己移出決策過程,單純的當一個核心開發者,他表示,仍然會繼續在社群中耕耘,也可以指導其他開發者,而這樣或許對於Python更有幫助。
但可以確定的是,他已經決定永久離開BDFL的位置,社群現在可以依照自由意志來控制語言發展。Guido van Rossum提到,反正那天終究會到來,他也不再年輕,健康狀況更是每況愈下。由於他不會指定BDFL的繼任者,因此詢問社群對於他不再干涉決策後,要以什麼方式進行決策。
最重要的事務有兩項,第一是PEP的決定,第二項則是徵招核心開發者的方法。其他諸如問題追蹤器或是GitHub上的日常決策,社群通常不會要求Guido van Rossum介入。他提到,這件事情必須要由社群自己決定,他提議或許可以把這些程序寫成PEP,讓這個PEP成為社群的章程。
他在信中最後強調,他會一直都在,並試著讓大家自己解決現在這個狀況,他現在很累,需要一段長時間的休息。
引起這個社群爭戰的是PEP 572指派表示式(Assignment Expressions)提案,Guido van Rossum主張要在Python中新增一個:=符號,允許在表示式中進行指派。也由於BDFL這個位子,在有必要時可以直接做出決定,因此Guido van Rossum在爭論還未到一個段落時,逕行決定接受PEP 572。
雖然這個功能在不少語言中都有支援,但是PEP 572被提出時,仍然引來正反兩方論戰,Guido van Rossum認為,在表示式中允許變數指派,可以加速程式開發,讓開發者少寫很多程式碼。而即便到現在PEP 572被接受已成定局,仍有強烈反對者發誓不會在程式碼中使用這個新語法,並批評Guido van Rossum就仁慈的獨裁者位子,獨裁遠多於仁慈。
在Guido van Rossum發布這個公開信後,論壇上引發了熱烈討論,絕大多數的人很感謝Guido van Rossum的貢獻,也肯定他所達到的成就,認為BDFL的存在,讓Python比起其他程式語言在發展過程,能更有效率解決許多意見分歧。也有網友提到,Guido van Rossum服務Python社群超過20年,在某種意義上離開自己的孩子是一個了不起的舉動,但應該要把職務交給一個稱職的繼任者。
作者: HenryLiKing (HenryLiKing)   2018-07-13 19:30:00
致敬!不過我覺得真的會汙染 Pythonic耶
作者: winter0128 (winter0128)   2018-07-13 19:35:00
多數決也是會有像Debian systemd那樣的例子存在
作者: ThxThx (洗洗睡)   2018-07-13 19:54:00
我倒覺得有guide line的話這個語法很棒話說回來,沒有他的話這個議題還是會爭論不休...
作者: doomleika (iSuck)   2018-07-13 22:07:00
WE PHP NOW BOIZ推回來
作者: HenryLiKing (HenryLiKing)   2018-07-13 22:44:00
會不會像PHP5到6一樣 之後版本搞不定啊
作者: TitanEric (泰坦)   2018-07-13 23:18:00
覺得這寫法不錯 以前碰過的語言都有支援 但Python沒有也許這是嶄新的開始
作者: Sunal (SSSSSSSSSSSSSSSSSSSSSSS)   2018-07-14 15:37:00
是說可讀性會變差 不過還是看人寫

Links booklink

Contact Us: admin [ a t ] ucptt.com