Python入門(mén)知識(shí)之為什么 Python 這么火
為什么 Python 這么火
幾年前 Python 在國(guó)內(nèi)還只是一門(mén)小眾語(yǔ)言,但從 2011開(kāi)始到現(xiàn)在,Python 的百度搜索指數(shù)翻了10 倍,從下圖看得出 Python 在國(guó)內(nèi)的流行度已經(jīng)直逼 Java,大有趕超之勢(shì)

一個(gè)行業(yè)火不火,就看有多少(自)媒體、培訓(xùn)機(jī)構(gòu)涌入進(jìn)來(lái)為之瘋狂,用百度搜關(guān)鍵字“Python”就有5條是培訓(xùn)廣告,而Ruby、PHP、Go 等語(yǔ)言一條都沒(méi)有,顯然還是Python的生意更好做。我最早接觸 Python 是在 2010年,那時(shí)國(guó)內(nèi)除了豆瓣、搜狐在用 Python 之外,很難看到有體量的公司用Python,而在美國(guó),Python 其實(shí)一直都很流行,像 Google、Instagram、Dropbox、Youtube、Reddit、Quora 這些明星網(wǎng)站都在用Python做核心業(yè)務(wù)。從 Google Trands 看得出它一直處于平穩(wěn)的趨勢(shì),這兩年上升趨勢(shì)比較明顯,顯然主要貢獻(xiàn)來(lái)自于中國(guó)。

那么國(guó)內(nèi)這幾年 Python 怎么突然就火起來(lái)了?

究其原因,大概可以從分3個(gè)階段來(lái)分析。
12~14年是云計(jì)算最火的幾年,大批創(chuàng)業(yè)公司和巨頭擠破頭地進(jìn)軍云計(jì)算領(lǐng)域,大家都在做IAAS,最著名的云計(jì)算開(kāi)源平臺(tái)OpenStack 就是基于Python 開(kāi)發(fā)的,為此催生出不少Python 崗位
14~15年是「大眾創(chuàng)新,萬(wàn)眾創(chuàng)業(yè)」口號(hào)喊得最響兩年,北京大街小巷似乎人人都是創(chuàng)業(yè)者,O2O、P2P產(chǎn)品如雨后春筍般冒出,什么語(yǔ)言最適合快速搭建原型?當(dāng)然是Python,Python 的開(kāi)發(fā)速度一個(gè)頂三。
16~17年人工智能火遍大江南北,AlphaGO 的出現(xiàn)讓業(yè)界為之興奮,人工智能不再是概念,而人工智能、機(jī)器學(xué)習(xí)的首選語(yǔ)言就是Python。
這兩年特別是網(wǎng)絡(luò)爬蟲(chóng)火得一塌糊涂,10個(gè)寫(xiě)爬蟲(chóng)的9個(gè)在用Python,曾經(jīng)有一段時(shí)間知乎的Python話題全部被爬蟲(chóng)相關(guān)的帖子刷屏,為什么爬蟲(chóng)這么火,這個(gè)還是跟大數(shù)據(jù)有關(guān),因?yàn)閿?shù)據(jù)挖掘、分析、機(jī)器學(xué)習(xí)、人工智能都需要大數(shù)據(jù)的支撐,而真正有大數(shù)據(jù)的廠商沒(méi)幾個(gè),所以小廠不得不通過(guò)爬蟲(chóng)去獲取數(shù)據(jù)。
為什么偏偏就 Python 火了,其它語(yǔ)言沒(méi)有?
Ruby on Rails 最火的那幾年,有人問(wèn)Python 之父吉多·范羅蘇姆怎么看,他說(shuō):”P(pán)ython 不需要?dú)⑹旨?jí)應(yīng)用,因?yàn)槿绻沁@樣的話,Python 在其它方面的作用就被忽略了?!?Python 在網(wǎng)絡(luò)爬蟲(chóng)、數(shù)據(jù)分析、AI、機(jī)器學(xué)習(xí)、Web開(kāi)發(fā)、金融、運(yùn)維、測(cè)試等多個(gè)領(lǐng)域都有不俗的表現(xiàn),從來(lái)沒(méi)有哪一種語(yǔ)言可以同時(shí)在這么多領(lǐng)域扎根

Python 是一門(mén)兼具簡(jiǎn)單與功能強(qiáng)大的編程語(yǔ)言,它專注于如何解決問(wèn)題、自由開(kāi)放的社區(qū)環(huán)境以及豐富的第三方庫(kù),無(wú)需浪費(fèi)時(shí)間去造輪子,各種Web框架、爬蟲(chóng)框架、數(shù)據(jù)分析框架、機(jī)器學(xué)習(xí)框架應(yīng)有盡有,拿來(lái)即用,如果你不知道去哪找第三庫(kù),可以看看 awesome-Python
盡管后起之秀 Go 語(yǔ)言為并發(fā)編程而生,效率高,但物理硬件性能已經(jīng)顯著提升的情況下,編程語(yǔ)言帶來(lái)的性能影響已經(jīng)不那么重要的,開(kāi)發(fā)速度才是人們首要關(guān)注的問(wèn)題,即使真遇到的性能問(wèn)題,那么也可以用C語(yǔ)言無(wú)縫對(duì)接。
雖說(shuō)Java是老大哥,江湖地位無(wú)人能撼動(dòng),但體型過(guò)于臃腫、冗長(zhǎng)的語(yǔ)法被越來(lái)越多的開(kāi)發(fā)者所詬病,這也是為什么 Google 決定把 Kotlin 作為 Android 官方支持語(yǔ)言的主要原因
Python 的發(fā)展完全是由社區(qū)自我驅(qū)動(dòng)的,喜歡Python的原因很簡(jiǎn)單,因?yàn)樗_確實(shí)實(shí)給開(kāi)發(fā)者帶來(lái)了愉悅的編程體驗(yàn)。