Python現(xiàn)在是一門非常流行的語言,在編程語言流行排行榜上,長期進入前三名,使用非常普遍。
凡事有果必有因,那么大家有沒有思考過Python為什么受歡迎么?
那么我們就從源頭上來說說這個事情。
Python設計的初衷就是用來替換ABC編程語言,作為Pyer我們先來一窺ABC語言的模樣。
ABC語言是在NWO【荷蘭科學研究組織】旗下CWI【數(shù)學與計算機科學國家研究所】的 Leo Grurts,Lambert Meertens,Steven Pemberton主導研發(fā)一種交互式,結構化高級語言,旨在替代BASIC,Pascal等語言,用于教學及原型軟件設計。
從這里可以看到ABC語言的設計目的:
用于教學目的
軟件的原型設計
同時,ABC語言的代碼量通常為Pascal或者C語言程序的四分之一,并且具備更強的可讀性,有以下特點:
只有五種基本數(shù)據(jù)類型
不需要變量聲明(動態(tài)變量)
明確支持自上而下的編程
語句嵌套由縮進來表示
精度,列表,字符串均無限制
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
這是一段統(tǒng)計文本中出現(xiàn)詞的總數(shù)的小程序,你有沒有覺得和Python的風格非常像哦,所以老子的基因刻在了兒子的身上,并發(fā)揚光大。
Python的作者,Guido von Rossum,荷蘭人。1982年,阿姆斯特丹大學畢業(yè),獲得數(shù)學和計算機碩士學位。
盡管他算得上是一位數(shù)學家,但他更加享受計算機帶來的樂趣。用他的話說,盡管擁有數(shù)學和計算機雙料資質,他總趨向于做計算機相關的工作,并熱衷于做任何和編程相關的活兒。
Guido希望有一種語言,這種語言能夠像C語言那樣,能夠全面調用計算機的功能接口,又可以像shell那樣,可以輕松的編程。ABC語言讓Guido看到希望,另外Guido van Rossum于20世紀80年代曾在ABC系統(tǒng)開發(fā)中工作了數(shù)年,他很清楚ABC的優(yōu)點和不足,這些都為Python的誕生創(chuàng)造了條件。
1989年,為了打發(fā)圣誕節(jié)假期,Guido開始寫Python語言的編譯/解釋器,參考了ABC語言,并取長補對。Python來自Guido所摯愛的電視劇Monty Python's Flying Circus -- 巨蟒劇團之飛翔的馬戲團。
兩年后,第一個Python編譯器(同時也是解釋器)誕生。它是用C語言實現(xiàn)的,并能夠調用C庫(.so文件)。從一出生,Python已經(jīng)具有了:類(class),函數(shù)(function),異常處理(exception),包括表(list)和詞典(dictionary)在內(nèi)的核心數(shù)據(jù)類型,以及模塊(module)為基礎的拓展系統(tǒng)。
最初的Python logo設計,是由Guido的兄弟Just von Rossum設計。
最初的Python完全由Guido本人開發(fā)。Python得到Guido同事的歡迎。他們迅速的反饋使用意見,并參與到Python的改進。Guido和一些同事構成Python的核心團隊。他們將自己大部分的業(yè)余時間用于hack Python (也包括工作時間,因為他們將Python用于工作)。隨后,Python拓展到CWI之外。
Python將許多機器層面上的細節(jié)隱藏,交給編譯器處理,并凸顯出邏輯層面的編程思考。Python程序員可以花更多的時間用于思考程序的邏輯,而不是具體的實現(xiàn)細節(jié) ,這一特征吸引了廣大的程序員,Python開始流行。
上面這個圖表明了Python各個版本的發(fā)展歷史和路線。今天Python已經(jīng)進入到3.0的時代。由于Python 3.0向后不兼容,所以從2.0到3.0的過渡并不容易。另一方面,Python的性能依然值得改進,依然是一個在發(fā)展中的語言,未來可期。
“簡潔而優(yōu)雅” - 是我對Python的評價。
Python從其他語言中吸收了很多優(yōu)點,例如ABC、C、Perl等語言。比如Python標準庫中的正則表達(regular expression)是參考Perl,而lambda, map, filter, reduce函數(shù)參考Lisp,Python本身的一些功能以及大部分的標準庫來自于社區(qū)開發(fā)者的貢獻。
而如今,Python在自動化測試、機器爬蟲、Web開發(fā)大數(shù)據(jù)、機器學習、人工智能領域都在大展拳腳。
原文來自兔子先生網(wǎng)站:https://www.xtuz.net/detail-126.html
聯(lián)系客服