Python,由荷蘭人Guido van Rossum(龜叔)於1989年發明,第一個公開發行版發行於1991年。
1982年,Guido從阿姆斯特丹大學(University of Amsterdam)獲得了數學和計算機碩士學位。盡管擁有數學和計算機雙料資質,他總趨向於做計算機相關的工作,並熱衷於做任何和編程相關的活兒。

在那個時候,他接觸並使用過諸如Pascal、C、 Fortran等語言。在80年代,個人電腦的配置很低。所有的編譯器的核心是做優化,以便讓程序能夠運行。為了增進效率,語言也迫使程序員像計算機一樣思考,以便能寫出更符合機器口味的程序。在那個時代,程序員恨不得用手榨取計算機每一寸的能力。有人甚至認為C語言的指針是在浪費內存。至於動態類型,內存自動管理,面向對象…… 別想了,那會讓你的電腦陷入癱瘓。當時這些語言的基本設計原則是讓機器能更快運行。
然而,這種思考方式讓Guido感到苦惱。Guido知道如何用C語言寫出一個功能,但整個編寫過程需要耗費大量的時間 (即使他已經准確的知道了如何實現)。他的另一個選擇是shell。Bourne Shell作為UNIX系統的解釋器(interpreter)已經長期存在。UNIX的管理員們常常用shell去寫一些簡單的腳本,以進行一些系統維護的工作,比如定期備份、文件系統管理等等。shell可以像膠水一樣,將UNIX下的許多功能連接在一起。許多C語言下上百行的程序,在shell下只用幾行就可以完成。然而,shell的本質是調用命令。它並不是一個真正的語言。比如說,shell沒有數值型的數據類型,加法運算都很復雜。總之,shell不能全面的調動計算機的功能。
Guido希望有一種語言,這種語言能夠像C語言那樣,能夠全面調用計算機的功能接口,又可以像shell那樣,可以輕松的編程。ABC語言讓Guido看到希望。ABC是由荷蘭的CWI (Centrum Wiskunde & Informatica, 數學和計算機研究所)開發的。Guido在CWI工作,並參與到ABC語言的開發。ABC語言以教學為目的。與當時的大部分語言不同,ABC語言的目標是“讓用戶感覺更好”。ABC語言希望讓語言變得容易閱讀,容易使用,容易記憶,容易學習,並以此來激發人們學習編程的興趣。比如下面是一段來自Wikipedia的ABC程序,這個程序用於統計文本中出現的詞(word)的總數:
HOW TO RETURN words document:
   PUT {} IN collection
   FOR line IN document:
      FOR word IN split line:
         IF word not.in collection:
            INSERT word IN collection
   RETURN collection 
        HOW TO用於定義一個函數。ABC語言使用冒號(:)和縮進來表示程序塊(C語言使用{}來表示程序塊)。行尾沒有分號。for和if結構中也沒有括號()。如果將HOW TO改為def,將PUT行改為collection = [],將INSERT行改為collection.append(word),這就幾乎是一個標准的Python函數。上面的函數讀起來就像一段自然的文字。
盡管已經具備了良好的可讀性和易用性,ABC語言最終沒有流行起來。在當時,ABC語言編譯器需要比較高配置的電腦才能運行。而這些電腦的使用者通常精通計算機,他們更多考慮程序的效率,而非它的學習難度。除了硬件上的困難外,ABC語言的設計也存在一些致命的問題:
- 可拓展性差。ABC語言不是模塊化語言。如果想在ABC語言中增加功能,比如對圖形化的支持,就必須改動很多地方。
 - 不能直接進行IO。ABC語言不能直接操作文件系統。盡管你可以通過諸如文本流的方式導入數據,但ABC無法直接讀寫文件。輸入輸出的困難對於計算機語言來說是致命的。你能想像一個打不開車門的跑車么?
 - 過度革新。ABC用自然語言的方式來表達程序的意義,比如上面程序中的HOW TO (如何)。然而對於程序員來說,他們更習慣用function或者define來定義一個函數。同樣,程序員也習慣了用等號(=)來分配變量。這盡管讓ABC語言顯得特別,但實際上增加了程序員的學習難度 (程序員大都掌握不止一種語言)。
 - 傳播困難。ABC編譯器很大,必須被保存在磁帶(tape)上。當時Guido在訪問的時候,就必須有一個大磁帶來給別人安裝ABC編譯器。 這樣,ABC語言就很難快速傳播。
 
IBM tape drive:讀寫磁帶
1989年,為了打發聖誕節假期,Guido開始寫Python語言的編譯/解釋器。Python來自Guido所摯愛的電視劇Monty Python's Flying Circus (BBC1960-1970年代播放的室內情景幽默劇,以當時的英國生活為素材)。他希望這個新的叫做Python的語言,能實現他的理念(一種C和shell之間,功能全面,易學易用,可拓展的語言)。Guido作為一個語言設計愛好者,已經有過設計語言的(不很成功)的嘗試。這一次,也不過是一次純粹的hacking行為。
備注: 在英語中,python(首字母小寫)最直接的翻譯是大蛇,蟒蛇的意思。

參考文章:
https://www.cnblogs.com/vamei/archive/2013/02/06/2892628.html
