中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

Python簡史:開發(fā)者的小小副業(yè)如何成為全球最熱編程語言?

2019-08-21    來源:raincent

容器云強勢上線!快速搭建集群,上萬Linux鏡像隨意使用

1989 年,Guido van Rossum 厭倦了當時已有編程語言的缺點,決定創(chuàng)造一種新的編程語言,于是 Python 誕生了,F在 Python 已經擁有數百萬用戶,那么關于這門語言的過去、現在和未來,創(chuàng)造者 van Rossum 有什么要說的呢?

1994 年末,一組從全美國選出來的程序員聚在一起討論他們的新型秘密武器。

這是針對新型編程語言 Python 舉辦的第一次 workshop,共有二十來個程序員參加,Barry Warsaw 是其中之一。他記得當時這些第一批用 Python 的人都很興奮。

「我記得有個人說:『不要告訴別人我參加了這次 workshop,因為使用 Python 是我們的獨特競爭優(yōu)勢!籔ython 是一個秘密武器!

這次 workshop 在當時的美國國家標準局(NBS)舉辦,Warsaw 表示:很顯然,當時 Python 提供了一些新特性,使寫代碼的過程變得簡單、便捷。

「第一次使用 Python 時,我就知道它很特別。它提高了代碼的可讀性,寫 Python 代碼是很愉快的過程!笲arry 回憶道。

現在,Python 熱潮早已突破了最初的開發(fā)者圈子。有人預測它將很快成為世界上最流行的編程語言。它吸引新用戶的速度遠超其他語言,每天有數百萬人使用 Python,且用戶數量的指數級增長沒有顯現出衰退跡象。

Python 可用于大型任務和小型任務,專業(yè)開發(fā)者、業(yè)余開發(fā)者都可以使用。該語言尤其受到 web 開發(fā)者、數據科學家和系統(tǒng)管理員的青睞。今年 4 月,人類成功拍攝了首張黑洞照片,這其中 Python 功不可沒,它將分布在世界各地的電腦上的腳本合成起來。

在許多世界知名的組織中,Python 也發(fā)揮著重要作用,如它幫助 Netflix 向全世界 1 億多個家庭提供視頻流,支持照片分享社區(qū) Instagram,還幫助 NASA 探索太空。

Python,誕生伊始

就某些方面而言,Python 的崛起就像英國同名喜劇組合「Monty Python」一樣離奇怪誕,而它也同樣在自己的生態(tài)系統(tǒng)中積聚出名氣和影響力。

Python 最初只是荷蘭程序員 Guido van Rossum 的「副業(yè)」。1980 年代末,van Rossum 在荷蘭數學和計算機科學研究學會 (CWI) 工作。他厭倦了當時已有編程語言的缺陷,決定創(chuàng)造一種既好用又高能的新語言。

 

 

Guido van Rossum,2001 年。這一年 Python 軟件基金會成立。(圖源:Guido van Rossum)

對于門外漢來說,創(chuàng)造一門自己的編程語言不亞于「自己造一架飛機」,但是時年三十多歲的 van Rossum 有他自己的優(yōu)勢。當時他與 CWI 的一個團隊用三年時間創(chuàng)造了一種解釋性編程語言 ABC,所以他對構建執(zhí)行編程指令的解釋器需要什么、新語言需要哪些語法構建塊都有自己的見解。

對于當時的 van Rossum 來說,意識到已有編程語言的易用性缺陷也是非常重要的。他當時正在開發(fā)的 Amoeba 分布式計算系統(tǒng)需要使用 C 語言或 Unix shell,這兩種語言都有很明顯的缺陷。

C 語言不僅需要開發(fā)者執(zhí)行手動管理內存的復雜工作、時刻面臨潛在的錯誤,還缺少可重用代碼庫,這就使得開發(fā)者在每執(zhí)行一個新項目時就得重新造一個輪子。而 Unix shell 存在另外一些問題:它為常見任務提供了一套實用工具,但是運行速度很慢,無法處理復雜邏輯。

這些語言對開發(fā)者造成的限制使得 van Rossum 決定自己創(chuàng)建一種解釋性語言,這門語言借鑒了 ABC 語言的最優(yōu)特性。

「我當時的想法是『為什么不創(chuàng)造一種自己的語言呢』,借鑒 ABC 語言的思想,但縮小項目的規(guī)模,把一個團隊三年完成的事情縮減到我自己三個月就能完成的規(guī)模(就像臭鼬工廠的項目那樣)。就這樣 Python 誕生了。」van Rossum 說道。

1989 年底,van Rossum 開始積極投入該項目。他借用了自己最喜歡的喜劇組合 Monty Python's Flying Circus 的名字為該語言命名,并在任何可以工作的時候投入該項目的研發(fā)。

「那時候我的社交活動很少,在閑暇時刻我也不看電視,而是把時間花在編程上,或者同時做這兩件事!

盡管創(chuàng)造 Python 名義上是為了輔助自己的工作,但 van Rossum 發(fā)現創(chuàng)建這門語言的動力多過挑戰(zhàn)。

「我也不知道自己有多大信心能通過這個工具提高效率。我認為我只是享受獨自做大項目的快感,寫自己想寫的代碼,按照自己的想法設計。我喜歡編程!箆an Rossum 說道。

一個人自己創(chuàng)造了一種編程語言,這聽起來很不尋常,但是 van Rossum 得到了足夠的支持。1980 年代末,出于對當時可用開發(fā)工具的失望,多種主流語言應運而生。

Larry Wall 曾說過:他創(chuàng)造 Perl 是因為用現有工具編程很難解決某個問題,而且他具備偉大程序員的三大優(yōu)點:懶惰、暴躁和自負。(懶惰會促使程序員寫一些省事的程序,輔助自己或別人更好地完成工作,無需做重復和繁瑣的勞動;暴躁讓程序員主動去完成一些你還沒有提出的工作,去優(yōu)化自己的代碼讓它更有效率,能夠 3 秒鐘完成的任務,我們絕不能容忍 1 分鐘的等待;自負會促使程序員寫出可靠無誤的代碼,我們寫代碼不是為了接受批評和指責,而是為了讓其他人來膜拜。)類似地,為了尋找一種更好的語言來創(chuàng)造構建集成電路的交互工具,John Ousterhout 設計了 Tcl 語言。

僅僅用了三個月時間,van Rossum 就創(chuàng)建了 Python 的工作原型,他認為該原型雖然缺乏一些現代特性,但是仍然能夠從中看出今天 Python 的雛形。

「現在 Python 具備大量當時還沒有的重要抽象,但是不管怎么變化,Python 語言看起來是類似的。當時我已經具備 Python 解釋器、Python 語言運行的所有基本組件。第一個 Python 解釋器創(chuàng)造的簡單 Python 程序可能到現在還能運行。」他接著補充道,函數的定義方式沒有變化、代碼縮進規(guī)則沒有變化、字典和元組也是使用相同的語法創(chuàng)建,同樣不變的還有,在交互式模式下直接輸入 Python 代碼即可立即執(zhí)行計算。

但是,當 van Rossum 的兩個同事開始使用這門語言時,他對 Python 的廣泛傳播不抱太大期望,他已經經歷過前互聯(lián)網時代讓編程語言取得進展的艱難。

今天向全世界共享軟件只需幾次點擊即可,而在 1980 年代,這事兒要難得多。van Rossum 回憶起嘗試分發(fā) Python 前身 ABC 語言時的重重困難。

「我記得大概是在 1985 年,第一次去美國,我?guī)Я艘幌浯艓,磁帶里?ABC 語言!

有一些人通過當時初級的電子郵件系統(tǒng)傳達了他們對 ABC 語言的興趣。van Rossum 借助這些人的地址和電話號碼,挨個發(fā)放磁帶。但是,ABC 并沒有流行起來。

「這也難怪,ABC 有那么多優(yōu)秀的特性,卻無法得到很好的分發(fā)!沟请S著互聯(lián)網革命的發(fā)展,分發(fā) Python 要簡單多了,最起碼不用再弄一箱子磁帶了。

1991 年,van Rossum 通過 alt.sources newsgroup 向全世界發(fā)布了 Python。盡管 Python 解釋器仍然需要由 21 個單獨的部分組合并壓縮成一個文件,需要通過 Usenet 網絡下載一整晚,但這比之前的當面派發(fā)還是要高效多了。

「我希望 Python 能夠獲得成功,但是我之前發(fā)布的語言失敗過。」

失敗的經歷縈繞在腦海中,van Rossum 說他很長時間都不去看 Python 用戶群增長方面的信息。漸漸地,他意識到發(fā)展勢頭不錯,在與 Python 社區(qū)定期交流一段時間之后,他發(fā)現自己成功了。

「我認為這種發(fā)現來得非常非常緩慢。在我們第一次開源發(fā)布之后,我的工作節(jié)奏是開發(fā)新的發(fā)布版本、與剛出現的 Python 社區(qū)交流。」

Python 為什么能贏?

1990 年代早期和中期,Python 語言發(fā)展迅速,Python 的時代似乎到來了。這令 van Rossum 感到震驚。

van Rossum 認為開發(fā)者使用 Python 的原因和他最初創(chuàng)建 Python 的原因一致。他們想要一種高級的腳本語言,能夠平衡易用性和強悍能力,在處理復雜邏輯時不會出現 Unix shell 的局限性。他們想要結束使用 C 語言時必須手動執(zhí)行內存管理、必須在每個項目開始時重復造輪子的局面。

Barry Warsaw 表示,Python 既具備易用性,其能力也不打折扣,這種平衡是 1990 年代早期的主流編程語言所不具備的。「我之前寫過大量 Perl、Tcl 和 C 代碼,寫的過程并不怎么愉悅。當 Python 出現時,我的感覺是:『哇,它讓編程重新變得有趣了!』」

Python 當時所提供并一直提供到現在的,是清晰、不含混的語法,用縮進將代碼分塊,幫助開發(fā)者更輕松地理解代碼。

高德納咨詢公司(Gartner)應用平臺戰(zhàn)略團隊研究總監(jiān) Fintan Ryan 表示,清晰性是 Python 贏得開發(fā)者的重要因素,盡管用縮進實現這一重要功能引起了分歧。「它提供非常簡潔的語法。你也可以在其他語言中執(zhí)行縮進,但 Python 能夠自動執(zhí)行。一些程序員喜歡這一點,一些則討厭它!

 

 

1994 年 Barry Warsaw 參加第一次 Python Workshop 時的照片。(圖源:Barry Warsaw)

Python 強調簡潔、可讀的代碼,這一點并非偶然。van Rossum 曾表示,編程語言不僅告訴計算機要做什么,也用于開發(fā)者之間的信息交流。

關于可讀性,Ryan 表示,Python 從一開始就提供有別于其他語言的內置功能!改阋簧鲜志涂梢允褂妙、異常處理等功能。Python 還提供對 lambda、map 和 filter 等函數的支持,這些函數在很多案例中非常有用。」

如果 1980 年代末的流行編程語言能夠更好,或許 Python 壓根就不會出現。van Rossum 當時創(chuàng)造 Python 的一大動力來自于,他在 CWI 開發(fā)的 Amoeba 分布式計算系統(tǒng)與 Perl 腳本語言不兼容!笇τ Python 而言,最幸運的事莫過于 Perl 與 Amoeba 不兼容了。如果 Perl 可以移植到 Amoeba,那我可能不會想自創(chuàng)語言!箆an Rossum 說道。

盡管 Python 一經發(fā)布就吸引了一票硬核粉絲,形成了用戶群,但在 1990 年代 Python 仍然處于劣勢。van Rossum 表示,Python 的競爭對手是 Tcl/Tk 和 Perl,它們和 Python 的目標一樣:兼具易用性和強悍能力!1990 年代 top 3 編程語言中,Perl 絕對是第一,Tcl/Tk 排名第二,Python 只占第三名!

根據 Stack Overflow 開發(fā)者調查報告,現在 Python 是活躍用戶增長最快的編程語言,而 Perl 已經滑出最新的 Stack Overflow 調查報告。

下圖展示了 Python 的爆炸式增長:近年來在 Stack Overflow 網站上,Python 相關問題的閱讀量增長速度遠遠超過其他編程語言。

 

 

在 Stack Overflow 網站上,Python 與其他語言相關問題的閱讀量增長速度對比顯示出 Python 用戶群的巨額增長。(圖源:Stack Overflow)

那么 Python 是如何超越前對手 Perl 的呢?又該怎么解釋二者迥然不同的命運呢?van Rossum 認為,這與代碼庫超出一定規(guī)模后能否輕松維護有關!溉藗兊慕涷炇,對于 10 行的代碼,Perl 絕對沒問題。但如果你有 500 行主線代碼、包含幾千行代碼的庫,那在 Perl 中維護該代碼庫就需要大量精力了。而使用 Python 的話,即使沒有足夠的精力去管理,代碼仍然是相對可讀且可維護的!

既易于使用,又足夠穩(wěn)健可以寫大型應用,van Rossum 認為這是 Python 在 1990 年代取得初步成功的原因。「當時的一些網絡開發(fā)者想寫更大的應用,他們認為用 Python 寫大型應用比使用 C、C++ 或 Java 要省力很多。」

隨著 1990 年代 Python 使用范圍的擴大,當時仍在 CWI 工作的 van Rossum 發(fā)現他創(chuàng)建的這門語言越來越多地把他和世界各地的人們聯(lián)結起來。

Python 和 web

1990 年代中期,Python 的使用開始出現新方式,從音頻錄制和回放腳本到首次涉足 web 開發(fā)。而后者成為了 Python 使用的主流。

「最大的應用方向是 web 開發(fā),這也是我很感興趣的方向。你可以用 Python 創(chuàng)建動態(tài)網頁,這是我最喜歡的 Python 應用之一!箆an Rossum 說道。

Ryan 表示,1990 年代 Python 在開發(fā)者之間流行的原因是,它成為快速創(chuàng)建強大腳本的最受歡迎語言!缸鳛榫邆鋸姶蠊δ艿哪_本語言,它降低了很多用戶的使用門檻!

此外,Ryan 還表示 Python 足夠靈活,很容易學習,從而吸引了具備不同技術專長的不同類型用戶。「系統(tǒng)管理員等使用 Python 執(zhí)行系統(tǒng)自動化和系統(tǒng)編程,開發(fā)者看重 Python 的函數式編程和類的繼承等特性。而 Perl 在這方面要遜色很多。一旦人們熟悉了 Python 語言,況且這門語言比較好學,他們的生產效率就會得到迅速提升!

1994 年,時任美國國家標準局(NBS,現美國國家標準與技術研究院 NIST)高管的 Michael McLay 注意到了 Python。他對 NBS 科學家能夠以何種方式使用 Python 很感興趣,這預示著 Python 會因其易用性受到研究人員和科學家的青睞。van Rossum 表示 NBS「有大量數據需要處理,但是缺乏優(yōu)秀的編程人員」。

為了讓 NBS 內部的其他人員接受 Python,McLay 邀請 van Rossum(當時仍在荷蘭 CWI 工作)來 NBS 擔任為期兩個月的客座研究員。這一任命成為 Python 未來演進的催化劑,也為 van Rossum 的生活帶來了巨大改變。

 

 

首屆 Python Workshop 時 van Rossum 與 Barry Warsaw、Roger Masse 的合照(當時 Barry Warsaw 和 Roger Masse 都在 CNRI 工作)。(圖源:Barry Warsaw)

正是在這一任命期間,首屆 Python Workshop 在 NBS 的辦公室里舉辦了,van Rossum、Barry Warsaw 等 Python 早期用戶齊聚一堂,討論他們用 Python 做了什么以及對 Python 未來發(fā)展的期待。

在 NBS 的辦公室里,van Rossum 見到了 Bob Kahn,后者因發(fā)明互聯(lián)網基礎技術 TCP/IP 協(xié)議而聞名。

這次會面為 van Rossum 帶來了一個工作 offer——與 Kahn 一起在美國全國研究創(chuàng)新聯(lián)合會 (CNRI) 工作。CNRI 是一個非盈利性研究組織,專注于網絡技術的戰(zhàn)略開發(fā)。

正像 Python 滿足了人們對新型編程語言的需求一樣,這個工作 offer 也來得恰如其時。當時 van Rossum 對自己在 CWI 的未來正持懷疑態(tài)度!窩WI 更像一個學術機構,他們給了我一點壓力,要么拿到 PhD 學位,要么到別處找工作!

「當時我 35 歲左右,讀 PhD 對我沒什么吸引力。由于 Python 的緣故,我的生命中出現了一些其他的可能性,經過一些電話聊天和思考,我決定不去讀 PhD,而是去嘗試新的選擇!

1995 年 4 月,van Rossum 加入 CNRI。在 CNRI,van Rossum 和一群 Python 愛好者一起構建了管理 Python 語言的結構。在這里他領導了一支小型開發(fā)者團隊構建 Knowbot 程序,該軟件是在分布式計算機系統(tǒng)(如互聯(lián)網)上運行的移動代理。

這支團隊使用 Python 工作,團隊成員包括 van Rossum、Jeremy Hylton、Roger Masse、Barry Warsaw、Ken Manheimer 和 Fred Drake,他們在 Python 社區(qū)中都發(fā)揮了重要作用。

「我們組最后有 4 到 10 人,大部分在 CNRI 工作,是 Python 開發(fā)的主力軍。」van Rossum 表示。

在 CNRI 工作期間,這支團隊創(chuàng)建了用于管理核心代碼庫變更的 CVS 服務器——python.org (http://python.org/) website,以及幫助改善和維護 Python 的 Python Special Interest Groups 郵件列表。

自 1991 年 Python 公開發(fā)布后,Python 用戶社區(qū)發(fā)展迅猛。1990 年代下半葉,Python 吸引了大量全球用戶群體。在這段時間內,Python 的管理開始變得正規(guī),成立了管理結構,2001 年還成立了 Python 軟件基金會 (PSF)。隨著社區(qū)的發(fā)展,自 1994 年開始一年兩次的 Python workshop 演變成大型年度盛事,最終成為每年一次的 PyCon 大會。

進入 21 世紀,Python 的用戶群變得更加龐大,社區(qū)在發(fā)展過程中發(fā)揮了積極的作用。van Rossum 仍然是核心,而且關于他會一直擔當 Python 核心的想法不曾消失,比如人們稱他為「終身仁慈獨裁者」(BDFL)。

「在很長一段時間里,我承受住了壓力,也提升了項目管理技能,比如把大量工作委托給別人、讓大家各司其職。」van Rossum 表示。

Ryan 稱,語言的創(chuàng)造者成為管理者,這并不鮮見,比如創(chuàng)造了 Perl 的 Larry Wall、創(chuàng)造了 Node.js 的 Ryan Dahl,而 van Rossum 因其在 Python 管理過程中的公平公正而著稱。「大家都認同,他在項目的發(fā)展方向和自己的管理工作之間做出了很好的平衡!

的確,van Rossum 確立的開放性本質(核心開發(fā)者通過公開辯論幫助決策)是 Python 成功的決定性因素。

Python 的演變

Python 發(fā)布以來,出現過幾次大的飛躍,如 2008 年 Python 3.0 的出現使該語言現代化,以及最近關于 Python 管理機制的重大變化。

變化是從去年開始的,van Rossum 宣布卸任 BDFL,直接導火線是 Python 改進提案 PEP 572,該提案是關于給 Python 添加表達式內賦值的語法,但引起了公開反對。

盡管該提案的目的是寫出更高效的代碼,但 van Rossum 迎來了反對者鋪天蓋地的批評,有些用戶認為該語法會降低代碼的可讀性,使代碼更難維護。

van Rossum 說他已經習慣了關于新特性的爭論,但是這一次,一些批評者不妥協(xié)的態(tài)度以及針對個人的攻擊使得他下定決心退休。

「技術層面持反對意見的人竟然跑到社交媒體上,大喊決策流程崩潰或我犯了重大失誤,這令我失望。我覺得自己受到了來自背后的攻擊!

「過去,在需要對 Python 做出改變或者改進某個特性時,核心開發(fā)組會討論優(yōu)缺點再進行決策。不管大家是否達成共識,我最終都會認真考量并做出決定。關于 PEP572 提案,盡管存在爭議,但是我最終決定「Yes,我想做這個功能」,而人們卻沒有選擇信服。這并不是反叛,不過我覺得我和核心開發(fā)者之間缺乏足夠的信任來繼續(xù)下去!

他認為,這種爭議的變化部分原因在于用戶量太大!富蛟S Python 社區(qū)太大了吧,達成任何形式的共識都變得更加困難,因為不管你做出什么決定都會有人反對。」

今年早些時候,Python 核心開發(fā)者選出了指導委員會來監(jiān)督 Python 的未來發(fā)展。van Rossum、Barry Warsaw、Brett Cannon、Carol Willing 和 Nick Coghlan 當選指導委員會成員。

Warsaw 表示,這一變化對管理用戶群增長如此迅速的語言是一種必然!肝艺J為 Guido 確實把所有事情扛在自己的肩上。25 年前這沒什么問題,那會兒 Python 社區(qū)比較小,而現在再把所有事情一肩挑就太難了。我認為,為了他的健康和對社區(qū)的參與,將負擔分給五個人是明智的!

指導委員會的新選舉會在每次新特性發(fā)布之后舉行,Warsaw 稱這將為下一代 Python 領導者鋪平道路!溉绻 Python 還能再健康發(fā)展 25 年,到時候肯定不是我和 Guido 管理它了。」

指導委員會的成立受到了更廣泛核心開發(fā)者社區(qū)的歡迎,核心開發(fā)者 Mariatta Wijaya 稱這一舉措走在了正確的方向上!肝艺J為,指導委員會比一個人決定所有事要好,(一個人決定所有事)對那個人來說責任和負擔都太重了。指導委員會的成立是一個好信號,這意味著社區(qū)將有更多輸入!

 

 

Python 核心開發(fā)者 Mariatta Wijaya 歡迎 Python 指導委員會的成立,指導委員會將監(jiān)督 Python 的發(fā)展。(圖源:A. Jesse Jiryu Davis)

Python 的未來

盡管 Python 仍在以驚人的速度吸引新用戶,但社區(qū)中一些人已經看到了未來面臨的挑戰(zhàn)——要想保持先進,Python 需要進化。

在今年的 Python 語言峰會(PLS)上,BeeWare 聯(lián)合創(chuàng)始人 Russell Keith-Magee 提醒道:如果對移動和新 web 平臺的支持沒有改進的話,Python 將面臨「生存危機」。(BeeWare 項目旨在使寫出的 Python 應用可在任意設備上運行。)

「手機和平板達到的市場滲透率遠非 PC 和筆記本電腦可比,而作為一個社區(qū),我們還沒有一個故事是關于如何在這些設備上使用 Python 的。當筆記本電腦成為小眾設備時,Python 又將面臨什么呢?」

Keith-Magee 列舉了 Python 目前在支持平臺方面面臨的一系列問題(除了標準 x86 PC)。比如,Python 需要對更新的非 x86 硬件平臺提供更好的支持;Python 的測試套件在移動和 web 平臺上可能會崩潰;Python app 的安裝包過大,無法壓縮為一個小的依賴項子集;在安卓、Windows 和 web 上寫 GUI 代碼時,asyncio 庫的運行需要做很多努力;標準庫中的模塊數與 Python 解釋器不兼容(CPython 除外)。

Warsaw 表示,Keith-Magee 提出了很多有用的點,他也認為考慮如何使 Python 與手機、平板以及 WebAssembly 等較新的 web 技術接軌是非常重要的!改壳,Python 在這方面沒有好故事!筗arsaw 說道。

現代芯片的處理器內核數量不斷增長(英特爾最新的服務器芯片已經高達 48 核),Warsaw 期待看到 Python 能夠更好地在多核上執(zhí)行任務。

他對 Eric Snow 在 Python 子解釋器方面的工作感到興奮,該項目旨在將 Python 的能力擴展為多核并行運行代碼!肝艺娴南M吹礁喙ぷ髂軌蚶枚嗪!

Snow 正在參與一個使 Python 能夠更容易地在多個處理器內核上高效分割任務的項目。他主要利用 Python 現有子解釋器特性的修改版本,并改變每個子解釋器與 Python 全局解釋器鎖(GIL)的交互方式。

Warsaw 稱,「Python 3.8 應該來不及加入該特性,或許 3.9 版本可以。我認為未來兩年到兩年半時間內我們將見到這一新特性。我對此很樂觀,也很欣慰 Eric 繼續(xù)為此而奮斗,我認為這是一項重要的工作。」

Warsaw 還表示,曾經失敗過的類似項目(如 Gilectomy)也帶來了一些有趣的經驗教訓,幫助 Python 更好地在多核上分配工作負載。

Python 社區(qū)正在現代化該語言的內置代碼標準庫,近期發(fā)布的 PEP 594 提案建議移除標準庫中過時的模塊。這樣做可以解決用戶近期對 Python 標準庫的批評。大家通常認為標準庫是 Python 的優(yōu)勢,因為它可用于執(zhí)行大量常見任務,這也是為什么 Python 被認為裝有「內置電池」。

但是在今年的 Python 語言峰會上,Amber Brown 批評了 Python 標準庫,她提出疑問:如果讓用戶從 PyPI 庫中自行選擇代碼庫,而不是使用作為內置功能的標準庫,是不是會更好?

關于 Python 核心開發(fā)者和指導委員會能否更好地反映多樣化的用戶群,也存在問題。

「我希望看到更完備的多樣化指標,不只是性別平衡,還需涵蓋種族等其他指標!筗ijaya 表示!冈 PyCon 大會上,我和來自印度和非洲的 PyLadies 成員進行了交談(PyLadies 是幫助更多女性積極參與和領導 Python 社區(qū)的國際團體)。她們說:『當我們聽到 Python 或 PyLadies 時,我們會想起北美或加拿大的人,而事實上世界其他地方也有龐大的 Python 用戶群。為什么不多看看他們呢?』我認為這意義非凡。因此我希望看到它發(fā)生,我們都需要盡自己的一份力量!

最后,盡管「仁慈的獨裁者」管控一切,近年來還是有很多塑造 Python 的想法來自于社區(qū),來自那些不斷使用 Python 探索新應用的人,Warsaw 表示!笍纳鐓^(qū)中吸取能量要比『自上而下』有用很多!

簡單的社區(qū)項目對 Python 產生重大影響的一個實例是「類型提示」(Type Hints),這個 Python 3.5 特性受 2012 年一名博士生創(chuàng)建的 mypy 項目的啟發(fā)。這些提示可以執(zhí)行可選類型檢查,幫助開發(fā)者發(fā)現容易被忽略并侵入軟件的 bug。

這層額外的安全保障,不僅能夠幫助多人合作大型代碼庫的情況。增加用戶對代碼應該做什么、不應該做什么的理解也很有意義。

「對我來說,asyncio 幫助 Python 擴展至大型組織(如基于 Python 3 運行的 Instagram)是最珍貴的!筗arsaw 表示。他認為 asyncio 是從社區(qū)產生想法的另一個示例,對 Python 的能力范圍產生了顯著影響。

有了指導委員會和更加龐大的用戶群,van Rossum 很樂觀:「由社區(qū)驅動的 Python 語言進化」將繼續(xù)獲得「無與倫比的成功」。

「Python 堅實的核心開發(fā)者社區(qū)以及新的管理系統(tǒng)令我堅信,我們對 Python 進化過程中將遇到的要求做好了充分的準備!箆an Rossum 說道,并贊揚了社區(qū)內部對 Python 特定方面的深刻理解。

如果有人對 Python 社區(qū)繼續(xù)尋找新應用案例的能力存有疑問,那他只需要看看 Python 在世界首張黑洞照片拍攝過程中的作用就可以了,Warsaw 說道。

 

 

今年早些時候,Python 幫助合成了世界首張黑洞照片。(圖源:事件視界望遠鏡合作組織等)

「這件事驚到我了。我覺得 Python 社區(qū)中的一些人是瘋狂的 Python 科學家。他們總是在思索今天我能用 Python 做點什么,以及我可以把這件事推到什么地步。」

原文鏈接:https://www.techrepublic.com/article/python-is-eating-the-world-how-one-developers-side-project-became-the-hottest-programming-language-on-the-planet/

標簽: Python 數據處理

版權申明:本站文章部分自網絡,如有侵權,請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉載文章言論不代表本站觀點!
本站所提供的圖片等素材,版權歸原作者所有,如需使用,請與原作者聯(lián)系。

上一篇:超越云計算:對數據庫管理系統(tǒng)未來的思考

下一篇:這些年,我們一起追過的緩存數據庫