幾年前 Python 在國(guó)內(nèi)還只是一門小眾語(yǔ)言,但從 2011開始到現(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ǔ)言一條都沒有,顯然還是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ì)算開源平臺(tái)OpenStack 就是基于Python 開發(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 的開發(fā)速度一個(gè)頂三。
16~17年人工智能火遍大江南北,AlphaGO 的出現(xiàn)讓業(yè)界為之興奮,人工智能不再是概念,而人工智能、機(jī)器學(xué)習(xí)的首選語(yǔ)言就是Python。
這兩年特別是網(wǎng)絡(luò)爬蟲火得一塌糊涂,10個(gè)寫爬蟲的9個(gè)在用Python,曾經(jīng)有一段時(shí)間知乎的Python話題全部被爬蟲相關(guān)的帖子刷屏,為什么爬蟲這么火,這個(gè)還是跟大數(shù)據(jù)有關(guān),因?yàn)閿?shù)據(jù)挖掘、分析、機(jī)器學(xué)習(xí)、人工智能都需要大數(shù)據(jù)的支撐,而真正有大數(shù)據(jù)的廠商沒幾個(gè),所以小廠不得不通過(guò)爬蟲去獲取數(shù)據(jù)。
為什么偏偏就 Python 火了,其它語(yǔ)言沒有?
Ruby on Rails 最火的那幾年,有人問Python 之父吉多·范羅蘇姆怎么看,他說(shuō):”Python 不需要?dú)⑹旨?jí)應(yīng)用,因?yàn)槿绻沁@樣的話,Python 在其它方面的作用就被忽略了。” Python 在網(wǎng)絡(luò)爬蟲、數(shù)據(jù)分析、AI、機(jī)器學(xué)習(xí)、Web開發(fā)、金融、運(yùn)維、測(cè)試等多個(gè)領(lǐng)域都有不俗的表現(xiàn),從來(lái)沒有哪一種語(yǔ)言可以同時(shí)在這么多領(lǐng)域扎根
Python 是一門兼具簡(jiǎn)單與功能強(qiáng)大的編程語(yǔ)言,它專注于如何解決問題、自由開放的社區(qū)環(huán)境以及豐富的第三方庫(kù),無(wú)需浪費(fèi)時(shí)間去造輪子,各種Web框架、爬蟲框架、數(shù)據(jù)分析框架、機(jī)器學(xué)習(xí)框架應(yīng)有盡有,拿來(lái)即用,如果你不知道去哪找第三庫(kù),可以看看 awesome-python
盡管后起之秀 Go 語(yǔ)言為并發(fā)編程而生,效率高,但物理硬件性能已經(jīng)顯著提升的情況下,編程語(yǔ)言帶來(lái)的性能影響已經(jīng)不那么重要的,開發(fā)速度才是人們首要關(guān)注的問題,即使真遇到的性能問題,那么也可以用C語(yǔ)言無(wú)縫對(duì)接。
雖說(shuō)Java是老大哥,江湖地位無(wú)人能撼動(dòng),但體型過(guò)于臃腫、冗長(zhǎng)的語(yǔ)法被越來(lái)越多的開發(fā)者所詬病,這也是為什么 Google 決定把 Kotlin 作為 Android 官方支持語(yǔ)言的主要原因
Python 的發(fā)展完全是由社區(qū)自我驅(qū)動(dòng)的,喜歡Python的原因很簡(jiǎn)單,因?yàn)樗_確實(shí)實(shí)給開發(fā)者帶來(lái)了愉悅的編程體驗(yàn)。