當初由于無法忍耐編程語言的種種缺點,Guido van Rossum 一手創建了 Python 編程語言。如今 Python 已有數百萬使用者,在本文中將基于 Python 的過去及今后的計劃展開了討論。
1994 年底,一群來自美國各地的頂級程序員開會討論他們的新式秘密武器。
Barry Warsaw 是當初參加首次 Python 編程語言研討大會的 20 名成員之一,對他來說,當年那個激動人心的時刻至今仍歷歷在目。
“我還記得有一個人說,我們不能告訴任何我在這里,因為使用 Python 是一種競爭優勢。這是一種秘密武器,對吧?”
那次大會在馬里蘭州的那個后來成為了美國國家標準局的地方舉行,Warsaw 說,他們能明顯感受到 Python 提供的新功能能夠降低編寫代碼的難度,讓開發工作更為輕松。
他回憶道:“在第一次接觸 Python 的時候,我就感覺到一些特別之處。編寫 Python 代碼是一種樂趣,而且可讀性非常高。”
Python 之父Guido van Rossum
如今,人們對 Python 的喜愛已遠遠超出最初的那幾名開發者的圈子,有人預測 Python 很快就會成為世界上最流行的編程語言,因為這種語言新用戶的增長速度超過了任何其他編程語言。數百萬計的程序員每天都在使用 Python,而且其用戶的增長指數沒有絲毫減緩的趨勢。
無論是專業人士還是業余開發,無論項目的大小,人們紛紛選擇了 Python,尤其是 Web 開發人員、數據科學家和系統管理員,他們尤其喜歡 Python。今年早些時候,有人利用 Python 合成了首張距離地球 5500 萬光年的黑洞照片,而另一方面,Python 也成為了全球電腦上為無數黑客攻擊腳本提供動力的編程語言。 Python 在全世界一些知名的組織中也發揮著關鍵性作用,它幫助 Netflix 為全球超過 1 億個家庭帶來了在線視頻,幫助 Instagram 為千家萬戶提供了照片共享,還幫助 NASA 展開太空探索。
早年的 Python Python 這個名字源自英國的一組超現實幽默表演團體蒙提·派森(Monty Python),從某些方面來說,該編程語言的發展與這個表演團體如出一轍——同樣的離奇曲折,又驚世駭俗。而 Python 編程語言本身也在自己的領域享有盛名和影響力。
Python 編程語言始自荷蘭程序員 Guido van Rossum 的一個業余項目。20 世紀 80 年代末,Van Rossum 在荷蘭國家數學和計算機科學研究中心(Centrum Wiskunde & Informatica,CWI)開發分布式系統。現有編程語言的缺陷令他感到萬分沮喪,于是他決定創建一門新的編程語言——一門易于使用且功能齊全的編程語言。
在外人看來,創建自己的編程語言就好像是說“我要建造自己的飛機”,但是當時三十多歲的 Van Rossum 擁有一些先發優勢。他在一個 CWI 的團隊中工作了三年,期間他們創建了一種解釋性的編程語言 ABC,所以他對執行程序指令的解釋器以及新語言所需的語法基本構成已有深入的了解。
此外還有很重要的一點,當時的 Van Rossum 意識到使用那些功能有限的編程語言來完成工作的難度太大。當時他在研究 Amoeba 分布式計算系統,寫代碼需要使用 C 或 Unix shell,這兩者都有很大的局限性。C 不僅要求開發人員應對手動管理內存的復雜性以及遇到潛在錯誤的危險,而且還缺少開發人員日常工作所需的可重用代碼庫,每次遇到新項目開發人員都需要重新開發基本的組件。而 Unix shell 則有完全不同的問題:它為解決常見的任務提供了一套實用程序,但其運行速度太慢,無法處理復雜的邏輯。
這些語言上的限制讓開發人員的工作痛苦不堪,因此對于 Van Rossum 來說,創建自己的解釋語言才是最好的選擇(而且他還可以借鑒 ABC 語言的部分功能)。 “當時我就在想,為什么不創建自己的編程語言呢?我從 ABC 中借鑒了一些想法,同時將項目的規模從三年的開發降低到我可以獨自承受的工作量,作為我的業余項目在三個月內完成。于是,Python 誕生了。”他說。
1989 年底,Van Rossum 正式啟動了這個項目,這門編程語言的名字來自他最喜歡的戲劇表演團蒙提·派森(Monty Python),由于 Python(蟒蛇)與蛇有關,所以后來他選用了樣子有點像蛇纏繞的 Python 標志。
“當時的我并沒有太多豐富的社交生活。因此,我把看電視的時間花在編程上,有時也會邊看電視邊寫代碼。”他承認說。
雖然名義上他創建 Python 是為了幫助減輕自己的工作負擔,但 Van Rossum 說更大的動力來自面對創建自己的編程語言的巨大挑戰。
“我并不清楚我是不是真的相信創建這樣一門編程語言可以提高我的工作效率。可能在某種程度上,我只是很喜歡親手創建一個大項目的想法,展示我想展示的代碼,按照我想要的方式設計。我很享受編程的樂趣。”他說。
盡管僅憑個人的力量創建一門編程語言的想法聽起來很不尋常,但當時的 Van Rossum 生在一個英雄輩出的年代。20 世紀 80 年代后期,在開發工具給當時的開發人員造成的重重挫敗感的刺激下,各大主流編程語言如雨后春筍般紛紛涌現。拉里·沃爾(Larry Wall)曾說,他創建 Perl 語言的動力就來自通過編程解決問題的難度過大,以及自身的“懶惰、急躁和狂妄自大”。還有,John Ousterhout 堅持不懈地尋找更好的語言來創建構建集成電路的交互式工具,最后他設計出了 Tcl。
在短短三個月內,Van Rossum 就創建了 Python 這種解釋語言的工作原型,他說這個原型缺少現代功能,但仍不失為一種現代的編程語言。
“如今的Python有很多重要的抽象,當時沒有,但語言本身看起來還是差不多。”他說。
“當時,我只做了解釋器和編程語言的基本組件。一些簡單的能在第一個Python解釋器上運行的程序在如今的Python上仍然有效。”他說,并補充說函數的定義方式相同,縮進也相同,字典和元組也是用相同的語法創建的,而且還有一個熟悉的交互式提示符,你可以在上面鍵入Python代碼并立即執行計算。
雖然Van Rossum的兩位同事在拿到這門語言后立即開始使用,但他本身對進一步的推廣并沒有抱太大期望,因為他們心知肚明在互聯網出現之前的時代,順利推廣一門編程語言是多么困難。
雖然如今在與整個世界共享軟件時,你只需點擊幾下鼠標,然而在20世紀80年代你需要付出更多的努力,Van Rossum想起當時(在Python前)發布ABC時的困難重重。
“記得85年左右,我去美國度假,那是我第一次去美國,我的行李箱里裝滿了磁帶。” Van Rossum說。
他通過當時簡陋的基本電子郵件系統找到了對ABC有興趣的人的地址和電話號碼,由于無法通過電子郵件傳輸龐大的源代碼,所以他不得不挨家挨戶發磁帶。盡管付出了這么多努力,ABC仍然沒能取得成功。
“盡管我們的ABC有很好的特性,但是發行量依然不理想。”他說。但隨著互聯網革命的蓬勃發展,如今無需裝滿磁帶的行李箱,就可以很輕松地分發Python。 1991年,Van Rossum通過alt.sources新聞組向世界發布了Python,采用的授權很像現在的開源許可——盡管直到6年后開源這個詞才首次問世。雖然Python解釋器仍然需要將21個單獨的文件合并成一個壓縮包,而且需要在Usenet網絡上花一整夜的時間才能下載完畢,但仍然比幾年前的手工發放方便多了。
“我希望這次能有一點起色,但我之前就經歷過一次發布,而且基本以失敗告終。”他說。
回憶起往昔,Van Rossum表示,過了很久以后他才聽到有關Python用戶群不斷增長的消息。漸漸地,他感覺到了 Python 崛起的力量,在與 Python 社區定期互動了一段時間后,他意識到自己創建的這門編程語言可能要成功了。 “我感覺整個過程非常非常緩慢。在我們完成了第一個開源版本后,我一直在堅持定期發布新版本,并與剛剛興起的 Python 社區交互。我感覺這非常重要。” Python 成功的原因 20世紀90年代早期,Python開始備受關注,感覺Python的時代已經到來,Van Rossum也感覺到了。
Van Rossum認為開發人員被Python所吸引的原因與當時他創建這門編程語言的初衷一致。他們想要一種高級腳本語言,能夠在方便使用和功能健全之間取得平衡,在處理復雜邏輯時沒有Unix shell的限制。他們希望結束開發人員使用C時繁瑣的內存管理,也希望改變每個項目開始之初都需要為相同的基本功能編寫重復代碼的局面。
Barry Warsaw在1994年的第一次Python研討會上
Warsaw表示,Python保持了語言的方便使用,同時也沒有犧牲功能的健全——在20世紀90年代早期,任何一門主流的編程語言都未能真正提供這種平衡性。“我嘗試過Perl、Tcl和C編程,感覺都不是很有趣。直到Python的出現讓我眼前一亮,感覺原來編程可以如此有趣。”他說。
Python提供了清晰明確的語法,通過縮進將代碼分組成塊,讓開發人員更容易理解代碼。
分析公司Gartner的應用程序平臺戰略團隊的研究主管Fintan Ryan表示,清晰性在贏得開發人員方面起著重要的作用,無論是現在還是在20世紀90年代,即使僅憑縮進實現的清晰性也可以扭轉整個局面。“Python提供了一種非常干凈的語法。在使用其他編程語言時你需要強迫人們遵守縮進,但使用Python時這種強制是自動的。有些程序員喜歡這種做法,有些人卻很討厭。”他說。
事實上,Python優先考慮代碼清晰性和可讀性并非偶然,Van Rossum表示,對于編程語言來說,開發人員之間的思想交流與他們和計算機之間的交流同等重要。
除了可讀性之外,Ryan表示,從早期開始,Python就提供了一系列內置功能,所以它才能從眾多編程語言之中脫穎而出。“Python從一開始就具有類和異常處理等功能,此外它還提供了lambda、map和filter等輔助函數,事實證明在很多情況下這些功能都非常實用。”他說。
如果80年代后期流行的編程語言出色一點的話,可能Python壓根就不會出現了,因為Van Rossum創建Python的動機之一就是Perl腳本語言與Amoeba分布式計算系統(他在CWI的工作)的不兼容。“對于Python來說,Perl無法移植到Amoeba是一件幸事,”他說,“如果Perl可以移植到Amoeba上的話,我也不會想起創建自己的編程語言。”
盡管Python在發布后吸引了眾多鐵桿粉絲的用戶群,但在20世紀90年代,Python仍然是一種不被看好的編程語言。Van Rossum表示,Python的競爭對手有Tcl / Tk和Perl,這兩種編程語言的目標與Python相同:簡單易用、功能齊備。
“論90年代排名前三的編程語言的話,Perl以絕對的優勢居首位,Tcl / Tk排名第二,而第三名才是Python。”他說。
根據Stack Overflow的年度開發人員調查報告(這是目前最全面的編程語言使用情況調查)顯示,Python是活躍的開發人員中間增長最快的編程語言,但報告中甚至都沒有提及Perl。
下圖中Python的爆炸式增長表明,近年來Stack Overflow上有關Python提問的增長速度遠遠超過了其他編程語言。
那么,究竟Python是如何超越昔日的競爭對手的呢?我們又該如何解釋兩種語言截然不同的命運呢?Van Rossum認為,這與代碼庫的增長超過一定規模后維護代碼庫的容易度有關。“按人們的經驗來看,如果某個腳本只有10行代碼,那么Perl是完美的選擇。”他說,“但是,如果你有500行主線代碼和幾千行庫,那么就需要嚴加約束才能維護好這些代碼。而在Python,即使沒有那么嚴格的約束,代碼仍然具備一定的可讀性和可維護性。”
正是這種特性促使Python成為了一種容易上手的編程語言,同時也非常強大,足以編寫大型應用程序,因此Van Rossum才在20世紀90年代取得了初步的成功。 “有一些互聯網開發人員(很多是早期的互聯網工作者),他們編寫的應用程序越來越大,而且他們發現用Python編寫應用程序所需要付出的努力遠低于C、C++或Java。”
隨著20世紀90年代Python使用范圍的擴大,仍然在CWI工作的Van Rossum發現越來越多來自世界各地的人就他的編程語言與他聯系。
“我創建了一門編程語言,而它與澳大利亞、美國、歐洲等世界各地的人聯系到了一起。我享受到了生命中的美好時光。”他說。 Python 與 Web 到 20 世紀 90 年代中期的時候,Python 出現新的使用方式,最初用于音頻的錄制和回放腳本,后來開始涉足 Web 開發——而 Web 成為了 Python 后續發展的支柱。
“這期間的一件大事就是 Web 開發,這對我來說也是一件非常有趣的事情,” Van Rossum 說道,人們開始用 Python 編寫 Web 服務器上的后端腳本(就像 Perl 和 Shell 腳本一樣)。他說,“你可以創建動態網頁,這是我最喜歡的 Python 應用程序之一。”
Gartner 的 Ryan 說,在 20 世紀 90 年代,Python 在開發人員中間流行的原因就在于它是快速創建強大腳本的最佳選擇。“作為一門功能強大的腳本語言,Python 降低了許多用戶的門檻。”他說。
不僅如此,Ryan 還說這門語言的功能多樣化,且容易上手,因此吸引了許多擁有不同技術專長的各類用戶。“系統管理員和其他人采用 Python 實現系統自動化和編程,開發人員喜歡它的函數式編程、支持繼承的類等特性—— 而其他語言,例如 Perl,這方面的功能相對就弱一些,”他說,“這門編程語言的學習曲線很低,而且一旦上手,就會迅速提高工作效率。”
1994 年,Python 引起了 Michael McLay 的注意,他曾在當時的美國國家標準局(NBS)(現在的美國國家標準與技術研究院(NIST))擔任高級職務。McLay 的關注預示著 Python 將受到研究人員和科學家的青睞——他認為 Python 簡單易用,非常適合 NBS 的科學家使用,Van Rossum 說,“這些科學家需要處理大量的數據,但他們都不熟悉編程。”
為了在 NBS 內的其他人中推廣 Python,McLay 邀請了當時仍在荷蘭 CWI 工作的 Van Rossum 到 NIST,作為客座研究員工作了兩個月。事實證明,此次安排給 Python 未來的發展和 Van Rossum 的生活帶來了重大變化。
在 Van Rossum 這兩個月的工作期間,NBS 舉行了第一次 Python 研討會,Van Rossum、Barry Warsaw 和其他早期的 Python 愛好者聚集在一起討論Python 的使用,以及這門語言未來的發展。
在 NBS 的辦公室里,Van Rossum 遇到了 Bob Kahn——此人開發了互聯網的一項基礎技術:TCP / IP 協議。
在此次會議上,Van Rossum 收到了邀請,前往美國全國研究創新聯合會(CNRI,這是一家位于弗吉尼亞州的非營利性研究組織,專注于網絡技術的戰略發展)與 Kahn 一起工作。
雖然 Python 已經滿足了新型編程語言的需求,但 Van Rossum 表示他開始質疑自己在 CWI 的發展前景,而這個工作機會的出現恰逢其時。
“CWI 是一個學術機構,我感受到了一定的壓力,要么攻讀博士學位,要么就需要另謀高就。”他說。
“當時我已經35歲了,在這個年紀攻讀博士學位并非我所愿。早些時候,由于 Python 的原因,我也收到過很多工作機會,但是經過電話交談和慎重的考慮后,我還是決定留下。但是,此次機會十分難得,我喜歡這些人,喜歡他們提出的條件以及項目,所以我動搖了。”
Van Rossum 在加入 CNRI 以后,在一個 Python 愛好者團隊的幫助下建立了許多管理 Python 語言的結構。1995年4月,Van Rossum 加入 CNRI,他開始帶領一個小團隊的開發人員致力于構建 Knowbot 程序——該軟件被稱為“移動代理”,旨在跨分布式計算機系統(如互聯網)上運行。
該團隊的工作采用了 Python,除了 Van Rossum 之外,還有 Jeremy Hylton、Roger Masse、Barry Warsaw、Ken Manheimer 和 Fred Drake,所有人都在 Python 社區中發揮著重要的作用。
“最終我們組建了一支4-10人的團隊,其中大多數人都是在CNRI工作,他們是Python開發的核心力量。”Van Rossum說。
Van Rossum在CNRI工作期間,這個團隊幫助他創建了python.org網站、管理核心代碼庫變動的CVS服務器,還建立了改進和維護Python語言的特別小組郵件列表。
自1991年公開發布以來,Python用戶社區的增長非常顯著,到本世紀下半葉時,該編程語言已經吸引了大批全球用戶群。在此期間,該編程語言的管理開始步入正規,同時還于2001年建立了Python軟件基金會(PSF)的前身。隨著社區的發展,于1994年開始的兩年一度的Python研討會演變成了盛大的年度活動,還有如今仍在盛行的由PSF主辦的Python年度大會。
到21世紀之交,Python編程語言空前壯大,龐大的社區在其發展中發揮著積極的作用。回想1994年的那個夏天,早期的Python用戶還在擔心如果Guido發生意外,這門編程語言該何去何從(請參考《如果Guido被公共汽車撞了》,https://legacy.python.org/search/hypermail/python-1994q2/1040.html)。
然而,Van Rossum一直在Python語言的發展中發光發熱,而且他的思想在該編程語言發展中依然處于核心地位,因此大家都親昵地稱呼他為“仁慈的獨裁者”,多年以來這個半開玩笑的頭銜一直陪伴著他。
“長期以來,在大多數時候,我都能夠承受這些壓力,而且我也具備了管理項目的能力,我可以將很多工作委派出去,讓人們掌握自己的命運。”Van Rossum說。
Gartner的Ryan表示,由編程語言的創始人出面管理語言的情況并不常見,參考一下Larry Wall和Perl以及Ryan Dahl的JavaScript運行時Node.js就可見一窺,但大家都認為Van Rossum管理Python的方式很公平。
“大家都認為他能夠在整體的管理工作中,很好地平衡項目的方向。”
事實上,Van Rossum認為Python成功的決定性因素在于Python開發中的開放性,而這種開發性建立在核心開發人員社區之間的公開討論之上。 Python 的演變 在此期間,Python 取得了重大飛躍,2008 年 Python 3.0 的引入讓該編程語言走向了現代化,然而,近期該編程語言的管理方式也發生了重大改變。
有些變化始自去年,當時 Van Rossum 辭去了作為“仁慈的獨裁者”的領導身份,因為公眾在 Python 引入賦值表達式的問題上產生了分歧(請參照 Python 改進方案 PEP572,https://www.python.org/dev/peps/pep-0572/)。
雖然引入該功能的目的是編寫更有效的代碼,但 Van Rossum 在網上遭到了那些反對變革的人的嚴厲批評,有些人認為該功能會降低代碼的可讀性,且難以維護。
Van Rossum 表示,他習慣了有關新功能的爭論,但他不愿與某些詆毀他的人妥協,而某些攻擊者的人品致使他下決心辭職。
“我感到非常失望,有人在技術上有不同的看法,就去社交媒體上咆哮說 Python 的決策過程遭到了破壞,或者說我犯了極其嚴重的錯誤。我感覺背后被人擺了一道。”他說。
“過去,大家都很清楚,如果需要在語言上做出某些改變或改進某個功能,那么就需要經由一大堆核心開發人員討論這些變化的利弊。有時大家會達成明確的共識,有時無法取得統一的意見,那么我就在腦海中仔細考慮,并做出決定。在 PEP572 的問題上,盡管存在明顯的爭議,但我做出了選擇:我想引入這個功能,而且大家也沒有說不同意。”
“我不想撂挑子不干了,但我覺得我沒有獲得足夠的核心開發者社區的信任,無法再領導整個團隊繼續前進。”
他認為,有關語言的爭論方式的變化部分是因為如今使用 Python 的人數過于龐大。
“可能是因為 Python 社區的規模過于龐大。這些人之間很難達成共識,因為無論你做出怎樣的決定,總有一些持異議的人士。”
今年早些時候,Python 核心開發人員(那些致力于維護和更新 Python 使用的 CPython 解釋器的人)選出了一個指導委員會來監督該語言的發展。Van Rossum 與 Warsaw 以及核心開發人員 Brett Cannon、Carol Willing 和 Nick Coghlan 一起當選。
Warsaw 表示,為了管理 Python 增長速度如此迅速的用戶群,這種變化是必要的。
“我感覺 Guido 想憑一己之力挑起整個世界。”他說。
“放在 25 年前,當時 Python 還是一個很小的語言,社區規模也很小,一個人管理也沒問題。但今非昔比,而且我覺得為他的個人健康考慮,應當讓社區的五個人共同分擔這項重任。”Warsaw 說。
在每次新 Python 功能發布后,指導委員會都會進行新一屆的選舉,Warsaw 表示,這可以為下一任領導 Python 發展的人鋪平道路。
“即便從現在開始 25 年后 Python 仍將健康發展,那么屆時也不是我和 Guido 所能管轄的世界了。”他說。
廣大的 Python 核心開發人員社區非常歡迎指導委員會的設立,核心開發人員Mariatta Wijaya 表示,此舉意味著 Python 朝著正確的方向邁出了一步。“對我來說,通過委員會來共同做決定好過讓一個人全權決定,畢竟這份責任和負擔太大了。”她說,“這是一個好兆頭,社區可以聽到更多人的心聲。” Python 的未來 雖然 Python 持續以驚人的速度吸引著新用戶,但社區中的有些人預見到了未來的挑戰,如果想維持 Python 的高度關注,那么就必須不斷發展。
在今年的 Python 語言峰會上,BeeWare 的聯合創始人 Russell Keith-Magee 發出了警告,如果 Python 無法改善對移動和新網絡平臺的支持,那么就可能面臨“生死存亡的風險”。
“手機和平板電腦對市場的滲透力是臺式機和筆記本電腦無法比擬的,但作為一個社區,我們卻未能提供在這些設備上使用 Python 的渠道。”他說。他調查了他兒子在學校使用 iPad 的情況,他問:“如果筆記本電腦被小型設備取代,那么 Python 該何去何從?”
Keith-Magee 希望通過 BeeWare 的項目,編寫一個 Python 應用程序,并在所有設備上運行,解決目前 Python 無法支持標準 x86 PC 之外的平臺的問題。 他表示,Python 需要更好地支持在非 x86 的新興硬件平臺上編譯代碼;Python 的測試套件容易在移動和 Web 平臺上崩潰;Python 應用程序的安裝過大,且無法縮減到一小部分的依賴項;在 Android、Windows 和 Web 上編寫 GUI 代碼時,使用 asyncio 庫需要付出額外的工作量;標準庫中存在大量無法與 CPython 以外的 Python 解釋器兼容的模塊。
Warsaw 表示,Keith-Magee 提出的意見非常中肯,而且他相信考慮 Python 與新平臺(包括手機、平板電腦和 WebAssembly 等新技術)的關聯性非常重要。 “現在,Python 并沒有一個很好的途徑,”Warsaw 表示他希望有一天用戶通過 iPhone 或 Android 手機下載應用時“從來不知道該應用是用 Python 編寫的。”
隨著現代芯片內部處理器核心數量的不斷攀升(英特爾最新的服務器中核心的數量高達 48 個),Warsaw 也希望看到 Python 能夠更好地處理多核心上的分散任務。
他對 Eric Snow 在子解釋器上的工作進展,以及擴展 Python 并行運行代碼的能力充滿了期待。“我真心希望看到 Python 能夠利用多核心完成更多工作的能力。”他說。
Snow 參與了一個長期項目,旨在提高 Python 在多個處理器核心之間有效地分割任務的能力,Snow 的主要工作是重新編寫 Python 現有的子解釋器功能,并改變每個子解釋器與 Python 全局解釋器鎖交互的方式。
Warsaw 說:“這個項目應該不會在 Python 3.8 上發布,可能 3.9 也來不及。“我估計我們會在兩年到兩年半以后看到它。我非常樂觀。我很高興 Eric 依然在努力,因為我認為這個工作非常重要。”
他說,即使是那些嘗試在多個核心上運行多線程 Python 應用程序的失敗項目,例如 The Gilectomy,也可以讓我們吸取有意義的經驗教訓,說明 Python 可以在多個核心之間分散工作負載方面有更出色的表現。
Python 社區還采取措施,提高了語言內置代碼標準庫的現代化水平,最近他們發表了一項提議,建議從庫中刪除過時模塊。這樣做是為了應對最近對 Python 標準庫的一些批評。該庫常常被當作 Python 的優勢之一,因為它可用于執行廣泛的常見任務,這就是為什么 Python 被稱為“自帶電池”的原因。然而,在今年的 Python 語言峰會上,有人在演講中說,應該允許人們從 PyPI 中選擇庫,而不應該作為標準庫與語言捆綁在一起,這樣 Python 才能更好地服務于人。
還有一些問題是,負責語言開發的 Python 核心開發人員和 Python 指導委員會是否可以更好地代表 2019 年 Python 用戶群的多樣性。
Wijaja 說:“我希望看到各個方面表現出更多的代表性,不僅僅是性別的平衡,還包括種族和其他一切。”
“在 Python 大會上,我與來自印度和非洲的 PyLadies(Python 女性聯盟組織)成員進行了交談。她們說,‘當聽說 Python 或 PyLadies 時,我們就會想到北美或加拿大人,實際上世界其他地方也有很多用戶群。為什么我們看不到呢?’我認為她們說得很有道理。我肯定也希望看到更多的用戶群,我認為我們都需要盡自己的責任。”
Warsaw 說,盡管外間流傳著讓一位“仁慈的獨裁者”掌管一切的玩笑話,但近年來改變 Python 的想法皆源自社區中,他們敞開大門歡迎新用戶的到來,并推動 Python 的使用。
“整個社區是從底層向上構建的,而不是自上而下的命令。”他說。
說到社區項目對 Python 產生的巨大影響,我想到了一個例子 Type Hints,這是一個 Python 3.5 的功能,該功能受到了 2012 年由某個博士生創建的 mypy 項目的啟發。這些提示允許可選類型的檢查,可以讓開發人員發現一類其它方式很難發現的 Bug。
當多個人在大型代碼庫上工作時,這個額外的防護層絕不僅僅是錦上添花,這種對于代碼應該做什么、不應該做什么的額外規定可以產生重大影響。
“在我看來,讓 Python 在更大的組織中得以應用的機會非常珍貴。比如 Instagram,他們基本上用的都是 Python 3。”Warsaw 說。他還說 asyncio 是社區想法對語言產生巨大影響的另一個例子。
有了指導委員會,以及前所未有的龐大用戶群,Van Rossum 樂觀地認為“社區驅動的語言演變”將會繼續“非常成功”。
“我們有非常可靠的核心開發人員社區,現在這個社區有了新的治理系統,因此我認為我們已經做好了準備迎接任何語言發展的需求。”他對社區在 Python 特定方面的深刻認識表示贊許。
Warsaw 表示,如果有人懷疑 Python 社區能否繼續為這種編程語言找到令人震驚的新用途,那么可以了解一下 Python 在幫助捕獲首張黑洞照片方面時發揮的作用。
“我對此感到非常震驚。我認為 Python 社區中有幾個人是瘋狂的 Python 科學家。他們總是在尋找新機會——如今我們能做的就這么多,那么今后還能走得更遠嗎?”
-END-
-
編程
+關注
關注
88文章
3682瀏覽量
94881 -
編程語言
+關注
關注
10文章
1955瀏覽量
36132 -
python
+關注
關注
56文章
4825瀏覽量
86212
原文標題:崛起的Python正在蠶食編程語言界!
文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
e絡盟“頂尖科技之聲”第四期與 AI策略師深入了解最新AI發展

字節跳動否認與中興通訊合作傳聞
意瑞半導體亮相第五屆汽車電驅動及關鍵技術大會
現代智能建筑中電氣火災安全監控管理的解決方案
Python中多線程和多進程的區別

特斯拉將獲xAI模型授權
使用Python進行Ping測試

評論