Python 這個程式語言的簡單歷史

更新於 發佈於 閱讀時間約 5 分鐘
Python 之父 Guido van Rossum 與 Python 的版本分歧
Python 從創立之初的沒沒無名,至今被譽為「初學者最佳語言」,在 Python 社群背後默默貢獻的「鄉民」們居功厥偉!以致於不論網頁程式設計、手機程式設計、遊戲程式設計、自動控制程式…等各行各業,它都可以佔有一席之地。在此,我們就來說說 Python 的簡史,以及它赫赫有名的「版本分歧」事件。讓 Python 的初心者,也能跟老手侃侃而談 Python 當年的風花雪月。

黎明至茁壯:Python 1.0 ~ Python 2.6

Python 是在 1989 年 12 月,由一位荷蘭人 Guido van Rossum 製作。一直到 1991 年 2 月,他把 Python 0.9 版發佈在 alt.sources 這個新聞論壇,並開始廣為人知。接著於 1994 年 1 月,發表 Python 1.0 正式版,同年成立 comp.lang.python 專屬討論區,奠定了 Python 蓬勃發展的第一步。
2000 年 10 月,Python 進入 2.0 。除了新增一些語法,及加強記憶體管理功能外,語法與 Python 1.x 沒有太大差異。隨後為了因應各界對 Python 語言的殷殷期待,開發小組一直猛加新功能到 Python 語法裡。從 Python 2.1, 2.2, 2.3…一直到 2.6 ,Python 已經變得相當「臃腫」了。許多前後時間增添的語法,不僅重複,而且繁雜矛盾,令初學者望之卻步。如何把 Python 「減肥」,去蕪存菁,當時變成迫在眉睫的一等大事。

合久必分:Python 2.6 vs. Python 3.0

於是,在 2008 年 12 月,Python 開發小組投下一顆震撼彈:Python 3.0 釋出,而且語法與 Python 2.6 大大不相容!以前用 Python 2.6 寫的程式,若要在新的 Python 3.0 平台跑,幾乎要打掉重練。Python 開發小組在想不出更好的瘦身方法之下,忍痛廢掉 Python 2.x 架構重做。這也導致目前 2.x 與 3.x 出現所謂「Python 斷層」、程式碼無法互為引用的窘境。
也因此,老練的 Python 程式設計師,在拿到一段原始碼後,一定會問個問題:「這個程式是用 Python 2 寫的?還是 Python 3?」因為 Python 2 與 Python 3 的語法差異,已經大到不全面修改,無法互相使用的地步!如果您初學 Python,拿到一段原始碼,也建議您確認一下這段 Python 程式是用 2.x 還是 3.x 語法寫成的比較好。
在一些死守 Python 2.x 語法的程式師強烈要求下,開發小組釋出 Python 2.7。除了修正 2.6 的一些問題外,盡量不添加新功能,好讓使用 Python 2.6 撰寫的程式,能有個穩定的環境來執行。但在 2014 年 11 月,開發小組宣布「不會有 Python 2.8」,並且「將於 2020 年,終止 Python 2.x 這條路線的支援」。這無疑是敲響 Python 2.x 的喪鐘!所以 Python 2.7,可以說是 Python 2.x 的「安寧病房」,這個分支只剩下不到幾年的壽命了。
那初學者該學 Python 2 還是 Python 3 呢?如果您現在才要開始學 Python,請直接學習 Python 3.x。除非您被要求維護 Python 2.x 的舊程式碼,否則購買相關書籍時,請確認購買到的是討論 Python 3.x 語法的書。若您無法確定,就直接買其他本。Python 好書不少,不用冒險去買一本可能用不到的書籍。

Python 編年史

為了讓您瞭解 Python 簡單的歷史,以下條列附上各版本號碼,與釋出時間,供讀者參考:

Python 1.0(1994/01)

  • Python 1.5(1997/12/31)
  • Python 1.6(2000/09/05)

Python 2.0(2000/10/16)

  • Python 2.1(2001/04/17)
  • Python 2.2(2001/12/21)
  • Python 2.3(2003/07/29)
  • Python 2.4(2004/11/30)
  • Python 2.5(2006/09/19)
  • Python 2.6(2008/10/01)
  • Python 2.7(2010/07/03)

Python 3.0(2008/12/03)

  • Python 3.1(2009/06/27)
  • Python 3.2(2011/02/20)
  • Python 3.3(2012/09/29)
  • Python 3.4(2014/03/16)
  • Python 3.5(2015/09/13)
  • Python 3.6(2016/12/23)
  • Python 3.7(2018/06/27)
  • Python 3.8(2019/10/14)
參考資料:維基百科「History of Python」詞條
希望藉由這個小節的介紹,能讓您瞭解 Python 有 2.x 與 3.x 語法上的區別,以及決定該學習哪個版本的 Python。
即將進入廣告,捲動後可繼續閱讀
為什麼會看到廣告
avatar-img
3會員
4內容數
「程式語言也可以輕鬆閒聊!」做為一個學習程式設計 30 年的老骨頭,面對許多人學習程式的急迫與焦慮感,會希望大家放輕鬆!其實程式語言不過是與「電腦星人」日常對話的一種方法而已!期待大家透過這個專題,能一點一滴地解除防衛心,張開雙臂擁抱「電腦」這位新朋友!
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
你可能也想看
Google News 追蹤
Thumbnail
現代社會跟以前不同了,人人都有一支手機,只要打開就可以獲得各種資訊。過去想要辦卡或是開戶就要跑一趟銀行,然而如今科技快速發展之下,金融App無聲無息地進到你生活中。但同樣的,每一家銀行都有自己的App時,我們又該如何選擇呢?(本文係由國泰世華銀行邀約) 今天我會用不同角度帶大家看這款國泰世華CUB
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
從範例學python的目標讀者: 針對剛進入的初學者,想學習Python語言。 有基礎本數學邏輯基礎即可。 從小遊戲學python的目標讀者: 針對已經有經驗的C/C++, Python, 或其他有程式基礎的讀者。 想實作一些小專案,從實做中學習如何分析需求、元件分拆、到底層實作
Thumbnail
想要使用python學習程式應該要怎麼開始呢? 首先就是要下載Python(程式語言)還有Pychar(整合開發環境,IDE)這兩個軟體。 在Google的搜尋欄位打上Python下載, 點選第一個Download Python。 第二步點選Download,選擇你的電腦系統。
Thumbnail
Python擁有便攜性和通用性,適用於多種場景,同時具有全球通用性。Python在科技製造業、資料分析、人工智慧等領域有廣泛應用,對於理工科背景者而言有獨特的優勢。透過在線課程、自學書籍、實作專案,以及參與社群和開源專案,理工背景者可以達成從轉職進入Python程式領域的目標。
Thumbnail
NumPy 是 Python 語言的一個擴充程式庫,支援高階大規模的多維陣列與矩陣運算的數學函式函式庫。 NumPy 2.0.0 是自 2006 年以來的第一個主要發行版本,此重要版本標誌著 NumPy 發展歷程中的一項重要里程碑,為使用者提供了豐富的增強功能和改進,並為未來的功能開發奠定了基礎。
在一次五天的年假中,我決定開始學習Python編程。雖然最初進展順利,但後來發現自己在解題和邏輯方面遇到了困難。經過思考後,我決定轉而學習C/C++,並且制定了一個計畫,希望成為一名後端工程師。這將需要挑戰我的時間管理能力。
Thumbnail
什麼是Python python是電腦程式語言的一種,如同python官方網站上的介紹 "Python是一種程式語,可讓你更快速地工作並更有效的整合系統"。簡單地說,就是你可用python這個程式語言去告訴電腦你想要作什麼,讓電腦來幫你完成你要作的事情。
Thumbnail
Python是一種易學且功能強大的程式語言,具有直譯、動態語法等特性,並擁有豐富的標準庫。它在各領域如Web開發、數據科學和人工智慧等得到廣泛應用,並被許多大公司如Google和Facebook等使用。Python還有強大的框架、豐富的交互機能、和龐大的社區。
Thumbnail
初入IT產業的人士在學習Python語言後,IT證照如ITS Python認證是否值得考取?本文以ITS證照特點、實施建議和IT認證考試資訊為主,詳述證照的好處和準備時間。
Thumbnail
在人與人溝通之間,最怕雞同鴨講,彼此不對頻的狀況常會造成誤會。在程式語言中也會出現類似的情況,所以就有一些約定來彼此約束。 PEP 8 是 Python 社群廣泛遵循的一種風格指南,用於提高 Python 程式碼的可讀性和一致性。一開始是 Python 之父 Guido van Rossum 自己
Thumbnail
現代社會跟以前不同了,人人都有一支手機,只要打開就可以獲得各種資訊。過去想要辦卡或是開戶就要跑一趟銀行,然而如今科技快速發展之下,金融App無聲無息地進到你生活中。但同樣的,每一家銀行都有自己的App時,我們又該如何選擇呢?(本文係由國泰世華銀行邀約) 今天我會用不同角度帶大家看這款國泰世華CUB
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
從範例學python的目標讀者: 針對剛進入的初學者,想學習Python語言。 有基礎本數學邏輯基礎即可。 從小遊戲學python的目標讀者: 針對已經有經驗的C/C++, Python, 或其他有程式基礎的讀者。 想實作一些小專案,從實做中學習如何分析需求、元件分拆、到底層實作
Thumbnail
想要使用python學習程式應該要怎麼開始呢? 首先就是要下載Python(程式語言)還有Pychar(整合開發環境,IDE)這兩個軟體。 在Google的搜尋欄位打上Python下載, 點選第一個Download Python。 第二步點選Download,選擇你的電腦系統。
Thumbnail
Python擁有便攜性和通用性,適用於多種場景,同時具有全球通用性。Python在科技製造業、資料分析、人工智慧等領域有廣泛應用,對於理工科背景者而言有獨特的優勢。透過在線課程、自學書籍、實作專案,以及參與社群和開源專案,理工背景者可以達成從轉職進入Python程式領域的目標。
Thumbnail
NumPy 是 Python 語言的一個擴充程式庫,支援高階大規模的多維陣列與矩陣運算的數學函式函式庫。 NumPy 2.0.0 是自 2006 年以來的第一個主要發行版本,此重要版本標誌著 NumPy 發展歷程中的一項重要里程碑,為使用者提供了豐富的增強功能和改進,並為未來的功能開發奠定了基礎。
在一次五天的年假中,我決定開始學習Python編程。雖然最初進展順利,但後來發現自己在解題和邏輯方面遇到了困難。經過思考後,我決定轉而學習C/C++,並且制定了一個計畫,希望成為一名後端工程師。這將需要挑戰我的時間管理能力。
Thumbnail
什麼是Python python是電腦程式語言的一種,如同python官方網站上的介紹 "Python是一種程式語,可讓你更快速地工作並更有效的整合系統"。簡單地說,就是你可用python這個程式語言去告訴電腦你想要作什麼,讓電腦來幫你完成你要作的事情。
Thumbnail
Python是一種易學且功能強大的程式語言,具有直譯、動態語法等特性,並擁有豐富的標準庫。它在各領域如Web開發、數據科學和人工智慧等得到廣泛應用,並被許多大公司如Google和Facebook等使用。Python還有強大的框架、豐富的交互機能、和龐大的社區。
Thumbnail
初入IT產業的人士在學習Python語言後,IT證照如ITS Python認證是否值得考取?本文以ITS證照特點、實施建議和IT認證考試資訊為主,詳述證照的好處和準備時間。
Thumbnail
在人與人溝通之間,最怕雞同鴨講,彼此不對頻的狀況常會造成誤會。在程式語言中也會出現類似的情況,所以就有一些約定來彼此約束。 PEP 8 是 Python 社群廣泛遵循的一種風格指南,用於提高 Python 程式碼的可讀性和一致性。一開始是 Python 之父 Guido van Rossum 自己