“第一次使用 Python 時,我就知道它很特別。它提高了代碼的可讀性,寫 Python 代碼是很愉快的過程。”Barry 回憶道。1989 年,Guido van Rossum 厭倦了當時已有編程語言的缺點,決定創造一種新的編程語言。
Python,誕生伊始
就某些方面而言,Python 的崛起就像英國同名喜劇組合Monty Python一樣離奇怪誕,而它也同樣在自己的生態系統中積聚出名氣和影響力。
Python 最初只是荷蘭程序員 Guido van Rossum 的副業。上世紀80 年代末,van Rossum 在荷蘭數學和計算機科學研究學會 (CWI) 工作。他厭倦了當時已有編程語言的缺陷,決定創造一種既好用又高能的新語言。
對于門外漢來說,創造一門自己的編程語言不亞于自己造一架飛機,但是時年三十多歲的 van Rossum 有他自己的優勢。當時他與 CWI 的一個團隊用三年時間創造了一種解釋性編程語言 ABC,所以他對構建執行編程指令的解釋器需要什么、新語言需要哪些語法構建塊都有自己的見解。
對于當時的 van Rossum 來說,意識到已有編程語言的易用性缺陷也是非常重要的。他當時正在開發的 Amoeba 分布式計算系統需要使用 C 語言或 Unix shell,這兩種語言都有很明顯的缺陷。
C 語言不僅需要開發者執行手動管理內存的復雜工作、時刻面臨潛在的錯誤,還缺少可重用代碼庫,這就使得開發者在每執行一個新項目時就得重新造一個輪子。而 Unix shell 存在另外一些問題:它為常見任務提供了一套實用工具,但是運行速度很慢,無法處理復雜邏輯。
一個人自己創造了一種編程語言,這聽起來很不尋常,但是 van Rossum 得到了足夠的支持。上世紀80 年代末,出于對當時可用開發工具的失望,多種主流語言應運而生。僅僅用了三個月時間,van Rossum 就創建了 Python 的工作原型,他認為該原型雖然缺乏一些現代特性,但是仍然能夠從中看出今天 Python 的雛形。
Python 為什么能贏?
上世紀90 年代早期和中期,Python 語言發展迅速,van Rossum 認為開發者使用 Python 的原因和他最初創建 Python 的原因一致。他們想要一種高級的腳本語言,能夠平衡易用性和強悍能力,在處理復雜邏輯時不會出現 Unix shell 的局限性。他們想要結束使用 C 語言時必須手動執行內存管理、必須在每個項目開始時重復造輪子的局面。
Barry Warsaw 表示,Python 既具備易用性,其能力也不打折扣,這種平衡是上世紀90 年代早期的主流編程語言所不具備的。“我之前寫過大量 Perl、Tcl 和 C 代碼,寫的過程并不怎么愉悅。當 Python 出現時,我的感覺是:哇,它讓編程重新變得有趣了!”
如果上世紀80 年代末的流行編程語言能夠更好,或許 Python 壓根就不會出現。van Rossum 當時創造 Python 的一大動力來自他在 CWI 開發的 Amoeba 分布式計算系統與 Perl 腳本語言不兼容。根據 Stack Overflow 開發者調查報告,現在 Python 是活躍用戶增長最快的編程語言,而 Perl 已經滑出最新的 Stack Overflow 調查報告。
近年來在 Stack Overflow 網站上,Python 相關問題的閱讀量增長速度遠遠超過其他編程語言。Python 可用于大型任務和小型任務,專業開發者、業余開發者都可以使用。該語言尤其受到 Web 開發者、數據科學家和系統管理員的青睞。