【Python 的誕生故事】覺得其他程式語言不好用,超狂荷蘭工程師花三個月打造自己的程式語言

【為什麼我們要挑選這篇文章】Python 是現在全球工程師最愛用的程式語言,人類拍到的第一張黑洞照片,也是藉由 Python 演算、組合起來的。那麼 Python 是誰發明的?

30 年前,荷蘭工程師 Guido van Rossum 覺得其他的程式語言不好用,花了三個月設計 Python;因為網路的關係,讓 Python 可以快速擴張。Python 強在哪?為什麼它會是網路時代最受歡迎的程式語言?還有,Python 的未來發展方向是什麼?(責任編輯:郭家宏)

「《科技報橘》徵才中!跟我們一起定位台灣產業創新力 >> 詳細職缺訊息
快將你的履歷自傳寄至 [email protected]

1989 年,荷蘭的一位叫 Guido van Rossum 的宅男工程師覺得其他的程式語言都不好用,於是花三個月創造了一種新的程式語言。

Guido 肯定沒有想到,30 年後,每天都有數百萬人使用他創立的這一新語言——Python。

無論是專業人士還是非專業人士,都在使用 Python 解決大大小小的問題,尤其是網路開發者、數據科學家和系統管理員。

今年早些時候,研究人員首次將 5500 萬光年之外黑洞的照片拼湊出來,使用的程式語言也是 Python,。

一些全球大廠也在用 Python 處理關鍵業務,比如網飛(Netflix),用它將影片傳輸到全球超過 1 億個家庭,Instagram 用它實現照片共享功能,NASA 更是用它處理太空探索數據。

今天,文摘菌(本文作者)就和大家一起挖掘 Python 的前世今生,一起看看這款程式語言是怎樣被創造出來,以及如何成長為紅遍全球的程式語言的。

命名自喜劇團體,工程師花三個月寫出自己的程式語言:Python

20 世紀 80 年代末,Guido van Rossum 為荷蘭國家數學和電腦科學研究中心 Centrum Wiskunde&Informatica(CWI)開發分散式系統。因為當時的程式語言存在缺陷,他決定創建一種新的語言—— 一種更易於使用又功能強大的語言。

對於一個從未開發過程式語言的人來說,創建程式語言就像是說「我要自己造一架飛機」。當時,三十多歲的 van Rossum 已經寫了多年程式,他已經在 CWI 的 ABC 語言開發團隊工作了三年,所以他很瞭解了建構指令編譯器需要什麼,也知道新語言需要哪些語法建構塊。

要知道,van Rossum 當時所用的程式語言非常具有侷限性,要完成任何任務都很難。他正在研發的 Amoeba 分散式計算系統需要使用 C 或 Unix shell,但是這兩者都有很大的侷限性:C 語言不僅要求開發人員自己解決複雜的記憶體管理及各種坑,而且還缺少實現常用功能的可重用程式碼庫,使得開發人員不得不針對每個新專案都重新進行開發;而 Unix shell 則有不同的缺點——它雖然為常見任務提供了一套實用程式,但其運行速度太慢,因此無法處理複雜的邏輯。

這些語言對開發人員的限制,使得 van Rossum 想要創建新直譯語言——一種具備 ABC 程式語言功能特徵的直譯語言——這一想法成為了當時的最佳選擇。

「我的初衷就想著,好吧,為什麼我不開發一種自己的語言,我可以利用現有的 ABC 語言,但將開發規模從需要三年完成的大專案縮小到自己可以在三個月內完成的小專案,於是 Python 誕生了。」van Rossum 說到。

1989 年年底開始,他開始投入所有精力來開發 Python。

van Rossum 從他最喜歡的喜劇劇團 Monty Python 的名字中借用 Python 一詞給這個語言命名。至於 Python 與蛇的聯繫,以及後來雙蛇纏繞圖標,則都是後話。

「我當時比較宅,會在家看電視,或者寫程式,或者邊看電視邊寫程式,」他承認道。

雖然一開始的初衷是創立 Python 來輔助自己工作,但 van Rossum 認為,他的動力可能更多是來源於建立屬於自己的程式語言這一挑戰。

「我認為,在某種程度上,我的確很喜歡自己建立一個大專案這種想法,按照我的理念,我的方式來佈局和設計程式碼,這樣的工作對我來說很有趣。」他說。

在短短三個月內,van Rossum 就開發出瞭直譯型語言 Python 的原型,雖然他聲稱這個原型缺少現在的許多功能,但這便是今天 Python 的始祖。

「現在的 Python 語言多了很多重要的底層抽象功能,但從使用角度來說,還是與原型非常相似的。」他說。

「當時,我已經擁有了編譯器和程式語言的所有基本組件。用首個 Python 編譯器編譯出的簡單 Python 程式,今天仍然可以工作。」他說,並補充道,「函數定義方式相同,縮排格式相同,字典和元組是使用相同的語法建立,並且連用於交互式計算的提示符號都是和原來一樣的。」

網路的興起,讓 Python 社群逐漸壯大

不過,儘管他的兩位同事很快就接受開始使用這種語言,但 van Rossum 並沒有對其更廣泛的傳播抱多大期望,因為在網路時代之前,想要使一個程式語言落地生根是非常困難的。

雖然今天分享一個軟體只需輕點滑鼠,但在上世紀 80 年代,這可是一件十分費力的事情。van Rossum 回憶起推廣 Python 的前身—ABC 語言時的艱辛。

「我記得大約是 85 年前後,我第一次到美國度假時,我的行李箱裡放了一盒裝有 ABC 語言安裝文件的磁帶。」van Rossum 說。

因為當時簡陋的電子郵件系統無法傳輸如此大的安裝程式,van Rossum 只能蒐集那些對 ABC 語言感興趣的人們的地址和電話號碼,然後挨家挨戶地遞送這些裝有安裝源文件的磁帶。儘管付出了很大的努力,ABC 仍沒有被大眾接受。

「因此,儘管 ABC 語言有強大的功能,我們在其推廣方面並不成功。」但隨著網路的蓬勃發展,Python 的推廣就容易得多了,再也不需要磁帶。

1991 年,van Rossum 在 alt.sources 新聞組裡發佈了 Python,這是一個類似開源軟體的版本(六年後開源軟體這一術語才首次出現)。雖然 Python 編譯器的安裝文件被壓縮成 21 個文件,需要一個晚上才能從 Usenet 上完成下載,但這仍然比幾年前的磁帶分發更有效率。

「我希望這能成功,即使沒有,我至少發佈了我發明的語言,這本身就是一種成就。」van Rossum 說。

憑藉以往經驗,van Rossum 表示,他花了很長的時間才從 Python 不斷增長的用戶群中看出些苗頭。經過一段時間與 Python 社群定期互動後,他漸漸意識到自己創造了一種成功的語言。

「這種進展非常非常緩慢。在我們發佈第一個開源版本後,我開始定期發佈新版本,並與各新興 Python 社區進行交流。這樣做非常重要。」van Rossum 說。

具有可讀性和可維護性,Python 超越其他程式語言並被廣泛接受

從 90 年代初期到中期,Python 開始逐漸受到關注,van Rossum 也意識到,Python 的時代到來了。

van Rossum 認為 Python 受歡迎的原因,是開發人員具有和他新創 Python 時一樣的感受。他們想要一種高級腳本語言,用起來方便,並且在處理複雜邏輯時沒有 Unix shell 那樣的侷限性。他們希望解決 C 語言那種開發人員自己管理記憶體的問題,實現基礎功能的程式碼復用。

來看看 Python 剛嶄露頭角就贏得廣大工程師青睞的樣子吧。

1994 年底,來自美國各地的一群菁英工程師,開會討論他們的新秘密武器。

Barry Warsaw 是參與 Python 語言創始研討會的 20 來位開發人員之一,他至今還能回憶使用 Python 給他們帶來的興奮。

Warsaw 表示,Python 取得了某種平衡、易用,同時也沒有犧牲其功能性。在 90 年代初期,還沒有任何一種主流程式語言能真正實現這種平衡。「我寫過很多 Perl、Tcl 和 C 的程式碼,但感覺不到寫程式的樂趣。這時 Python 出現了,我就找到了救星,它讓寫程式變得有趣。」他說。

從那時起,Python 的語法一直是清晰明確的,用縮排將程式碼分組成塊,使開發人員更容易理解程式碼。

分析公司 Gartner 的應用程式平台戰略團隊研究主管 Fintan Ryan 表示,無論在現在還是 90 年代,語法清晰性都是 Python 贏得開發人員青睞的重要因素,儘管有些人不同意是縮排造就了如此重要的特性。「縮排提供了一種非常乾淨的語法。雖然在其他語言中你也可以這麼做,但 Python 是強制執行縮排的。有些工程師喜歡這樣,有些則討厭。」他說。

事實上,Python 優先考慮程式碼清晰可讀並不是出於偶然,van Rossum 認為,程式語言開發人員間進行思想交流,與告訴電腦該做什麼同樣重要。

除了清晰易讀之外,Ryan 還表示,Python 的一系列內建功能,使其從其他語言中脫穎而出。「從一開始你就有類和異常處理等功能,Python 還提供了對 lambda、map 和 filter 等函數的支持,在很多情況下證明非常有用。」

如果 80 年代後期的流行程式語言能做得更好,Python 可能永遠不會出現,畢竟 van Rossum 創建 Python 的動機之一,就是 Perl 腳本語言與他在 CWI 使用的 Amoeba 分散式計算系統不相容。「對於 Python 來說,幸運的是,Perl 在 Amoeba 上不可移植,」他說,「如果可以將 Perl 移植到 Amoeba,我就不會想要創造我自己的語言了。」

儘管 Python 在發佈後吸引了眾多鐵粉,但在 90 年代,Python 仍然不能算成功。van Rossum 說,它的競爭對手是 Tcl/Tk 和 Perl,它們都部分實現了 Python 簡單易用和性能上的目標。

「在 90 年代最受歡迎的前三種語言中,Perl 絶對是老大——就像一隻 800 磅重的大猩猩, Tcl/Tk 排名第二,而 Python 只排到第三。」他說。

今天,根據 Stack Overflow 年度開發人員程式語言使用情況調查, Python 已成為成為開發人員中成長最快的程式語言,而 Perl 在最新的 Stack Overflow 報告中已經看不到了。

下圖的爆炸式成長,顯示了近年來在 Stack Overflow 上,Python 相關問題查詢數的成長速度遠遠超過了其他語言。

圖片來源:Stack Overflow

因此 Python 是如何超越昔日競爭對手的,又該如何解釋兩種語言截然不同的命運?

van Rossum 認為,這就得看當程式碼量超過一定規模時,其維護的難易程度。「人們得出的經驗是,對於只有 10 行的腳本,Perl 是完美的,」他說,「但如果你的 Perl 程式碼裡有 500 行的主程式和幾千行的功能庫,那麼需要制定並遵守大量的規則才能保證其維護。而在 Python 中,即使沒有那麼些規定,程式碼仍然具有相當的可讀性和可維護性。」

這種可讀性和可維護性使 Python 易於上手,同時又非常強大,足以用於編寫大型應用程式,van Rossum 認為這正是 90 年代 Python 一出現便獲得成功的原因。

「一些網路開發人員——其中很多從事早期的網路工作,他們在編寫更大型的應用程式時,認為用 Python 編寫應用程式要比用 C、C ++,或 Java 輕鬆得多。」

隨著 Python 在 90 年代的使用範圍越來越廣,仍然在 CWI 工作的 van Rossum 發現他的語言也讓他越來越多地接觸到來自世界各地的人。

他說:「我創造了 Python,而它將世界各地的人——澳洲人、美國人、歐洲人聯繫在一起,這讓我非常快樂。」

van Rossum:Python「仁慈的終身獨裁者」

到 90 年代中期,Python 開始有了新的應用場景,從音頻錄製和回放腳本,到首次涉足 Web 開發,網路應用成為 Python 的主要舞台。

van Rossum 說,「最重要的應用之一就是網頁開發,這對我來說也是一件非常有趣的事情。」這時,Python 開始與 Perl 和 Shell 腳本一起用於 Web 服務器上的後端腳本開發。「你可以建立動態網頁,這是我最喜歡的 Python 應用之一。」

Gartner 公司的 Ryan 認為,90 年代 Python 在開發人員中備受歡迎的原因在於,它是快速建立強大腳本的最佳選擇。「作為一種功能強大的腳本語言,Python 降低了使用者的入門門檻。」

不僅如此,這種語言功能多樣且容易上手,因此吸引了許多擁有各種技術專長的用戶。「系統管理員可以用 Python 進行系統自動化編程,功能開發人員可以使用函數式編程以及繼承類,而 Perl 這樣的語言在這方面的功能就要少得多,」Ryan 說,「由於入門門檻相當低,一旦人們掌握了這種語言,就會很快開發出大量程式。」

1994 年,Python 引起了 Michael McLay 的注意,他當時在美國國家標準局(NBS)擔任高級職務,這個機構現在是美國國家標準與技術研究院(NIST)。這預示著 Python 將受到研究人員和科學家的青睞。McLay 對於國家統計局的科學家們如何使用 Python 很感興趣,van Rossum 說這些科學家「需要處理大量數據,但寫程式的水準一般」。

為了向局內的其他人推廣 Python,McLay 邀請當時仍在荷蘭 CWI 工作的 van Rossum 作為客座研究員,在 NIST 工作了兩個月。這段工作給 van Rossum 的生活和 Python 的未來發展帶來了巨大的變化。

正是在這段工作期間,在國家統計局的辦公室舉行了 Python 新創研討會,van Rossum、Barry Warsaw 和一群 Python 愛好者聚集在一起,討論他們可以用 Python 做什麼,以及 Python 未來如何發展。

在國家統計局的辦公室,van Rossum 遇到了 Bob Kahn,後者曾經參與開發 TCP/IP 協議。

那次會議給了 van Rossum 與 Kahn 一起為國家創新研究組織(CNRI)工作的機會,CNRI 是一家位於維吉尼亞州的非營利性研究組織,專注於網路技術的戰略發展。

當時 Python 滿足了對新型程式語言的需求,而 van Rossum 則開始質疑他在 CWI 的未來,這個工作機會來得恰逢其時。

他說:「CWI 更像是一個學術機構,在那裡工作沒什麼壓力,因此我要麼去讀博士學位,要麼就得找其他工作。」

「我那時 35 歲左右,轉去讀博士對我來說沒有太大的吸引力。而在那之前,因為 Python 的緣故,讓我有了新的方向,經過深思熟慮,我決定不去讀博士。我喜歡 CNRI 的同事,喜歡這裡的環境、專案,所以我去了。」

在 CNRI,在一群 Python 愛好者的幫助下,van Rossum 將 Python 語言的功能特性進行了整合。從 1995 年 4 月加入 CNRI 之後,van Rossum 帶領開發團隊開始建構 Knowbot 程式,這是一種移動代理程式,運行在分散式電腦系統(網路)上。

開發團隊包括 Jeremy Hylton、Roger Masse、Barry Warsaw、Ken Manheimer、Fred Drake 和 van Rossum,使用的語言是 Python,而這些人也成為 Python 社群的中堅力量。

「我們成立了一個 4 到 10 人組成的小組,其中大多數人在 CNRI 工作,他們是 Python 開發的核心,」van Rossum 說。

van Rossum 在 CNRI 工作時,這個小組幫助他建立了 python.org 網站和用於管理核心程式碼庫的 CVS 服務器,以及用於用戶回饋的「Python 特殊興趣小組」的郵件列表。

自 1991 年公開發佈以來,Python 社區用戶數增長顯著,到 90 年代中後期,Python 已經擁有相當大的全球用戶群。在此期間,隨著 Python 軟體基金會(PSF)前身的建立,(PSF 於 2001 年創立),Python 語言的管理開始正式化。隨著社區的發展, 1994 年開始的兩年一度的 Python 研討會越來越受歡迎,最終發展成 PSF 的年度大會 PyCon,至今依然是年度盛事。

1994 年,那時的 Python 用戶還會擔心「如果 Guido 被公車撞了」怎麼辦。而到了 21 世紀之交,1994 年那個夏天已經過去了很久,Python 語言也早已不是一個人的語言,在其發展中社群的力量發揮著積極的作用。

然而,van Rossum 繼續扮演著核心角色,並且他是這一語言的靈魂的想法從未消失,正如他被暱稱為 Python「仁慈的終身獨裁者」(BDFL),表明了他對 Python 的最終話語權,這一詼諧的頭銜也伴隨了他許多年。

「在這麼多年裡,我能夠很好地承擔各種壓力,同時培養了我的專案管理技能,這使我能夠將不少事情委派給其他人自行處理。」van Rossum 說。

Gartner 公司的 Ryan 表示,語言的創建者同時擔任該語言的管理者是件很平常的事,比如 Larry Wall 的 Perl 語言和 Ryan Dahl 的 JavaScript 運行庫 Node.js;但是他說,van Rossum 尤以其對 Python 的平衡式管理而為人所稱道。

「大家都承認,他對專案的方向把控和整體管理都非常有條不紊。」這是人們對 van Rossum 的評價。

然而 van Rossum 很謙虛,他認為社區核心開發人員間的公開討論,賦予了 Python 在發展中的開放性,這是 Python 成功的決定性因素。

Python 社群意見難協調,van Rossum 辭去「終身獨裁者」身份

Python 社區的快速擴張,對 van Rossum 反而成了一個沉重的負擔。

在這些年裡,Python 不斷取得重大飛躍。2008 年發佈的 Python 3.0 標誌著 Python 的現代化,而最近在其管理方式上又出現了顯著變化。

這些變化是從去年開始的,因為公眾對 Python 增強提案 PEP572 中引入的賦值表達式存在異議,van Rossum 辭去了 Python「終身獨裁者」的身份。

儘管賦值表達式的引入是為了編寫出更有效率的程式碼,van Rossum 還是在網上遭到了那些反對者的嚴厲批判,一些人認為使用賦值表達式會降低程式碼的可讀性和可維護性。

van Rossum 表示,他過去習慣了為新功能進行辯解,但某些抨擊者的固執和別有用心讓他下定決心放棄最終話語權。

他說:「我對那些人感到很失望。他們在技術層面上有分歧,就去社群媒體上嚷嚷,說提案過程出了毛病,或者就說我犯了個天大的錯誤。這種感覺就像是被人在背後捅了一刀。」

「在過去,如果我們要針對語言改變或功能改進做個決定,一群核心開發人員就會討論此決定的利弊,一直都是這樣的。我們要麼會得出個明確的共識,或者如果沒達成共識,我會在腦中仔細斟酌並想個什麼方法將其確定下來。對於這個 PEP572,即便它存在明顯的分歧,我的選擇是——我要這麼做,但大家就是不能求同存異。」

「這不算是嚴格意義上的反抗,但我覺得我已經沒有了來自核心開發者社區的足夠信任來使我繼續這一(獨裁者)身份。」

他認為,如何結束語言變化的紛爭,在一定程度上取決於現今 Python 使用者的數量。

「這也有可能是因為 Python 社區規模太大了,這樣就更難達到任何形式的共識,因為不管你決定什麼,總是會有那麼些異類跟你唱反調。」

今年早些時候,Python 的核心開發者們,也就是那些致力於維護和更新(用 C 語言實現的)CPython 解釋器的開發人員,選舉產生了一個指導委員會來管理 Python 的未來。除了 van Rossum,其他一併當選的還有 Warsaw 及其餘幾個核心開發人員 Brett Cannon、Carol Willing 和 Nick Coghlan。

Warsaw 表示,對於管理一門用戶群成長如此快速的語言來說,這種變化是必須的。

「我認為 Guido van Rossum 真不能把所有的問題都自己扛。」他說。

「25 年前這樣或許還行得通,當時 Python 社區規模還很小,Python 也只是門小眾語言,但現在讓一個人來承擔這一切真的太過了,你知道嗎?我覺得單純為了他的個人健康和增強整社區參與度著想,有 5 個人一起分擔重任真的很好了。」Warsaw 提道。

每當新的 Python 功能發佈後,指導委員會都會進行新一輪選舉,Warsaw 說,這將為新一代的 Python 核心領導層鋪平道路。

「如果想要 Python 在未來的 25 年內健康成長,就不能只有 Guido 和我來進行管理,不是嗎?」Warsaw 說道。

指導委員會的設立也受到了 Python 核心開發者社區的廣泛歡迎。核心開發人員 Mariatta Wijaya 表示,此舉意味著他們向著正確的方向邁出了一步,「對我而言,有個指導委員會比由一個人確定一切要更好——一個人的責任與重擔都太大了。這是個好兆頭,而且它使得社區能夠有更多的參與。」

Python 的未來之路:社群驅動與優化

雖然 Python 繼續以驚人速度成長,但社區裡的部分人也看到了未來的挑戰:想要保持其推廣,Python 就得不斷發展。

在今年的 Python 峰會上,BeeWare 的聯合創始人 Russell Keith Magee 警告說,如果不改善其對行動端和新網路平台的支持,Python 就將會面臨著「生存風險」。

「手機和平板電腦的市場滲透率遠遠超過了桌機與筆電曾經的輝煌,但作為一個社群,我們並沒有去考慮關於如何在這些設備上使用 Python 的場景。」他提到他兒子在學校用 iPad 的例子,並問:「當平板電腦成為下一個巨大市場時,Python 會發生哪些改變呢?」

Keith Magee 所開發的 BeeWare 專案目的,是使 Python 應用程式可以任意平台上運行。他不假思索地列出了一長串 Python 現階段所面臨的問題,都是與非標準 x86 PC 系統以外的其它平台相關的。

他還給出了一系列,為了更好地支持在新的非 x86 硬體平台上編譯程式碼的理由:Python 的測試框架很容易在行動端和網頁平台上崩潰;Python 應用安裝時占用空間太大,且無法分割成更小的從屬子集;編寫運行於 Android、Windows 和網頁上的 GUI 程式碼時需要先設置 asyncio 庫;以及標準庫中有不少模組與除 CPython 以外的其他 Python 編譯器互不相容。

Warsaw 稱 Keith-Magee 提出了很好的觀點,並認為考慮 Python 如何能在新平台(包括手機、平板和 WebAssembly 等新網路技術)中繼續發揮作用這一點至關重要。

「目前的 Python 還沒有在各平台之間實現無縫的拓展。」Warsaw 說,他希望未來人們在 iPhone 或 Android 手機上下載運行應用程式的時候,可以「永遠不知道它是用 Python 編寫的」。

隨著現代晶片中 CPU 內核數目不斷攀升(英特爾最新的服務器可達 48 核),Warsaw 也希望 Python 可以有更好機制,將任務分散到多核上進行處理。

他非常看好 Eric Snow 所主導的 Python 子編譯器項目的潛力,這將擴展 Python 並行運行程式碼的能力。「我希望看到更多對多核處理器的利用。」他說。

Snow 的子編譯器項目,其目的在於讓 Python 在多核環境下更有效地分割任務,Snow 關注的重點是對 Python 現有的子編譯器功能進行修訂,並解決每個子編譯器與 Python 全局解釋器鎖(GIL)之間的交互。

「Python 3.8 裡還不包含這些修訂,Python 3.9 或許可以。」Warsaw 說,「我想在未來的兩年至兩年半時間裡,我們就能看到這些新機制,這一點我持樂觀態度的,Eric 的努力讓我感到很高興,因為我覺得這真的非常重要。」

他還提到,即便是之前的失敗專案 The Gilectomy,這是一個旨在多核處理器上運行多線程 Python 程式的專案,也能產生有意義的經驗教訓,像是如何讓 Python 在跨核分佈工作負載方面做得更好。

Python 社群也在採取措施使語言的內建程式碼標準庫更加現代化。社區最近發佈了一個刪除內建程式碼庫中過時模組的提議。這個提議解決了最近對 Python 標準庫的一些質疑。通用程式碼庫通常被視作 Python 的優勢之一,因為它可用於執行大多數常見任務,這就是為什麼 Python 會被稱作為「自帶裝備」的原因。然而,今年 Python 峰會上的一場演講提出了一個問題:讓人們從 PyPI 庫中選擇某程式碼庫,而不是將所有標準庫打包與 Python 捆綁安裝,可能會使 Python 更加有的放矢。

還有些問題如,語言開發的監督機構組成——Python 的核心開發人員和指導委員會,是否能更好地代表目前 Python 的不同用戶群體。

Wijaya 說:「我想看到這個機構能更好地代表各類群體,不僅僅是不同性別,還包括種族和其他一切。」

「我在 PyCon 與來自印度和非洲的 PyLadies 成員進行了對話。他們認為,『當聽到 Python 或 PyLadies 時,人們通常會聯想到北美或加拿大的成員,而實際上許多用戶群都是來自世界上的其他地區。為什麼我們沒看到他們呢?』我認為他們說的很有道理,所以我當然希望看到更多來自其他地區的開發人員,而且為此貢獻我們的力量。」

Warsaw 認為,儘管過去是一言堂,但是自從 Python 敞開心扉迎接各路新用戶的那一刻開始,推動 Python 發展的各種想法就不斷從社區中騰湧而出。

「比起自上而下的發展策略,社區中產生的 idea 可多了。」

其中一個例子就是類型提示(Type Hints),表明簡單社區項目也能 Python 產生巨大影響。這是 Python 3.5 的一個功能,由一位博士生受 mypy 專案啟發在 2012 年所創。這種類型提示允許使用可選的類型檢查,幫助開發者發現可能導致軟體漏洞的錯誤。

這種額外的安全檢查不僅在大型程式碼庫上多人協同工作時有好處,而且對指導程式碼開發中什麼該做什麼不該做也有重要意義。

「對我來說,這意味著 Python 可以應用於更大型的組織系統——比如基於 Python 3 的 Instagram,前途不可限量。」不僅如此,Warsaw 還提到了另一個社區衍生思想的例子:asyncio,它對程式語言的可塑性產生了極大影響。

面對指導委員會的出現和比以往任何時候都要大的用戶群,van Rossum 樂觀地表示,社區驅動下的語言演變將會繼續「前所未有地成功」。

「Python 的鐵桿粉絲們現在有了個新的管理機構,所以無論 Python 作什麼樣的變化,我們都已經做好了準備。」他說道,並高度讚揚了社區對 Python 某些方面的充分理解。

Warsaw 則表示,如果還有人懷疑 Python 社區發現語言新用途的能力,那麼就丟一張 Python 協助捕捉到的有史以來第一張黑洞圖像給他們看。

「黑洞照片真的把我給震到了。社區裡總有那麼幾個人讓我覺得他們就是 Python 界的科學狂人。對於他們我只能說,不逼一下自己,怎麼知道自己有多優秀呢?」

原文報導 傳送門

(本文經合作夥伴 大數據文摘 授權轉載,並同意 TechOrange 編寫導讀與修訂標題,原文標題為 〈命名自喜剧团体,宅男程序员三个月写出的编程语言是如何改变世界的?〉。首圖來源:Wikimedia Commons

更多關於 Python 的資訊

工程師用 Python 寫了能辨識動作的神經網路,只因為懶得爬下床關電燈!
【工程師實用外掛】開啟 Cython,讓你的 Python 運算速度提升 36 倍!
工程師好用資源來了!超完整 Python 查詢表,程式碼複製貼上不用自己寫


人類陷入空前數據絕境

量子運算數秒瓦解所有加密技術!企業毫無抵擋之力 搶先報名 12/6《2019 未來科技展》量子加密場次 找到資安機制一線希望

點關鍵字看更多相關文章: