Swift團(tuán)隊(duì)把Swift之父氣跑了,網(wǎng)友:Python之父仁慈獨(dú)裁模式是王道
本文經(jīng)AI新媒體量子位(公眾號(hào)ID:QbitAI)授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)聯(lián)系出處。
蘋果Swift語言、LLVM編譯器之父Chris Lattner的新動(dòng)向,引起程序員圈關(guān)注。
這位編譯器大神現(xiàn)在與Swift核心團(tuán)隊(duì)分道揚(yáng)鑣、徹底退出管理事務(wù)的消息引發(fā)了大量討論。
Lattner在Swift官方論壇自曝,離開的原因是團(tuán)隊(duì)文化“有毒”。
其中特別點(diǎn)出,去年夏天一次視頻會(huì)議上他被人侮辱和大喊大叫,而且這已經(jīng)不是第一次了。
此次沖突后,Lattner漸漸退出了Swift的管理和開發(fā)。
反正他本人還有很多興趣和事業(yè)可忙,不如向前看,眼不見為凈。
現(xiàn)在他正忙著籌備新公司Modular.ai,致力于開發(fā)AI編譯器、運(yùn)行時(shí)等基礎(chǔ)設(shè)施。
啊這,Swift團(tuán)隊(duì)具體出了什么問題,竟能把大神給氣走了?
“語法糖”惹的禍
Lattner五年前就已不再是蘋果正式員工,先后做過特斯拉自動(dòng)駕駛軟件VP、谷歌Tensorflow基礎(chǔ)設(shè)施主管、SiFive工程總裁。
不過Swift這門親手研發(fā)的編程語言他心里一直放不下,堅(jiān)持每周參加例會(huì)、參與社區(qū)討論,也親自編寫和迭代了許多代碼。
Swift語言逐漸發(fā)展壯大,接替老的Objective-C成為許多公司開發(fā)新iOS應(yīng)用的首選語言。
但這門語言發(fā)展的方向漸漸與Lattner的理想出現(xiàn)分歧,比如他的設(shè)計(jì)理念“簡單事物的有效組合”(simple things that compose)就不再流行。
有這種感覺的不止他一人,一些Swift忠實(shí)用戶也感到很失望。
我在Swift上投入了很多,2015-2019年都是社區(qū)的活躍成員,看到現(xiàn)在這門語言的發(fā)展方向,我有點(diǎn)難過。
這位老哥主要不爽的是一些語言特性的添加太過隨意和倉促,讓編譯過程不再透明。
實(shí)際上,引發(fā)Lattner自曝退出原因的帖子,也是在討論是否添加一個(gè)語法糖。
一位開發(fā)者認(rèn)為,隨意添加語法糖對(duì)語言維護(hù)者來說不算什么,但帶來的混亂會(huì)對(duì)語言使用者影響很大。
我不是說這個(gè)特性毫無價(jià)值,但我不想它被引入成語法糖,這會(huì)“折斷語言使用者的脖子”。
隨后,他引用了Lattner本人很早以前就發(fā)表的一段關(guān)于語法糖的思考。
Lattner認(rèn)為一門編程語言的主要功能相當(dāng)于蓋房子時(shí)的“磚”,語法糖相當(dāng)于填磚縫的“灰漿”。
如果房子主體都蓋好了去填縫沒啥問題。
如果磚還沒擺全就先抹了大量的漿,那整個(gè)房子成了用漿蓋起來的,結(jié)構(gòu)不會(huì)牢固,以后再想擺磚頭也找不到合適的地放了。
看來這種分歧在Swift社區(qū)由來已久,直到去年夏天那場(chǎng)視頻會(huì)議,沖突集中爆發(fā)。
Lattner會(huì)議上被人罵了以后休息了一段時(shí)間,后來找到團(tuán)隊(duì)管理層談話。
他認(rèn)為管理層逃避問題、找借口,并明確表示不打算對(duì)此采取任何措施。
后來大神決定暫時(shí)離開每周會(huì)議,只參與論壇討論,反正還有很多別的事業(yè)可忙。
不過他發(fā)表的意見越來越被核心團(tuán)隊(duì)忽視,覺得再這樣下去就是浪費(fèi)時(shí)間了,最終徹底離開。
現(xiàn)在,Swift管理團(tuán)隊(duì)正在嘗試推出新的社區(qū)治理機(jī)制來解決問題。
他們打算參考其他編程語言和開源項(xiàng)目的成功經(jīng)驗(yàn),重新成立一個(gè)專注于語言本身演進(jìn)迭代的大型工作組,并讓更多社區(qū)成員能參與決策。
對(duì)于編程語言社區(qū)究竟應(yīng)該如何治理,也有網(wǎng)友發(fā)表了自己的觀點(diǎn)。
有人覺得Python之父這種“仁慈的終生獨(dú)裁者”模式(BDFL, Benevolent Dictator For Life)才是王道。
Python之父會(huì)聽取社區(qū)意見,但是最終自己拍板決定。
這位老哥認(rèn)為所有不采用BDFL模式的編程語言都會(huì)因特性太多變得冗雜。
因?yàn)殚_發(fā)團(tuán)隊(duì)每個(gè)成員都想把自己的想要的特性添加進(jìn)去,特性之間的交互帶來平方級(jí)的復(fù)雜度,這樣用戶就難受了。
其他網(wǎng)友覺得也有一個(gè)例外,Go語言不是由仁慈的獨(dú)裁者管理,但團(tuán)隊(duì)始終堅(jiān)持簡潔的設(shè)計(jì)理念。
Go語言每個(gè)新功能提案都會(huì)被仔細(xì)權(quán)衡和討論,有些用戶覺得更新速度慢的像冰川移動(dòng),但我個(gè)人挺欣賞這點(diǎn)。
Lattner本人則在Swift官方論壇對(duì)此留下了最后一段建議和祝福。
我認(rèn)為Swift是一種現(xiàn)象級(jí)的語言,有成功和長久的前景,但它肯定不應(yīng)該是一種社區(qū)共同設(shè)計(jì)的語言,這在立項(xiàng)之初就寫進(jìn)了章程。
新的機(jī)制聽起來有些希望……一個(gè)健康和包容的社區(qū)有益于Swift的設(shè)計(jì)和發(fā)展。
現(xiàn)在創(chuàng)業(yè)AI基礎(chǔ)設(shè)施
最后再來介紹一下Lattner現(xiàn)在去忙的新事業(yè)。
Modular.ai,致力于為全世界重構(gòu)AI基礎(chǔ)設(shè)施。
包括編譯器、運(yùn)行時(shí)環(huán)境,為異構(gòu)計(jì)算設(shè)計(jì)、邊緣和數(shù)據(jù)中心并重,并專注于可用性。
最終構(gòu)建出模塊化、可組合和分層架構(gòu)的人工智能。
公司的共同創(chuàng)始人及首席產(chǎn)品官Tim Davis,此前在谷歌團(tuán)隊(duì)參與了TF Lite、 Android ML、NNAPI等項(xiàng)目的編譯器開發(fā)。
新公司正在全球范圍內(nèi)招聘大量編譯器、運(yùn)行時(shí)、ML Ops和框架方向的開發(fā)者,以及產(chǎn)品經(jīng)理和云計(jì)算工程師。