Python穩(wěn)坐AI時(shí)代頭牌語(yǔ)言 奇酷教育領(lǐng)跑智能時(shí)代
來(lái)源:
奇酷教育 發(fā)表于:
2017-03-08 16:02:00
誰(shuí)會(huì)成為AI和大數(shù)據(jù)時(shí)代的第一開(kāi)發(fā)語(yǔ)言?這本已是一個(gè)不需要爭(zhēng)論的問(wèn)題。如果說(shuō)三年前,Matlab、Scala、R、Java 和 Python還各有機(jī)會(huì)
誰(shuí)會(huì)成為AI和大數(shù)據(jù)時(shí)代的第一開(kāi)發(fā)語(yǔ)言?這本已是一個(gè)不需要爭(zhēng)論的問(wèn)題。如果說(shuō)三年前,Matlab、Scala、R、Java 和 Python還各有機(jī)會(huì),局面尚且不清楚,那么三年之后,趨勢(shì)已經(jīng)非常明確了,特別是前兩天 Facebook 開(kāi)源了 PyTorch 之后,Python 作為 AI 時(shí)代頭牌語(yǔ)言的位置基本確立,未來(lái)的懸念僅僅是誰(shuí)能坐穩(wěn)第二把交椅?;蛘邠Q個(gè)方式說(shuō),如果你將來(lái)想在這個(gè)行業(yè)混,什么都不用想,先閉著眼睛把 Python 學(xué)會(huì)了。
當(dāng)然,Python不是沒(méi)有它的問(wèn)題和短處,你可以也應(yīng)該有另外一種甚至幾種語(yǔ)言與 Python 形成搭配,但是Python 將坐穩(wěn)數(shù)據(jù)分析和 AI 第一語(yǔ)言的位置,這一點(diǎn)毫無(wú)疑問(wèn)。
Python為何能坐穩(wěn)AI時(shí)代頭牌語(yǔ)言
Python 的勝出令人意外,因?yàn)樗秉c(diǎn)還是很明顯的。它語(yǔ)法上自成一派,讓很多老手感到不習(xí)慣;Python 2 和 Python 3 兩個(gè)版本長(zhǎng)期并行,很多模塊需要同時(shí)維護(hù)兩個(gè)不同的版本,給開(kāi)發(fā)者選擇帶來(lái)了很多不必要的混亂和麻煩;由于不受任何一家公司的控制,一直以來(lái)也沒(méi)有一個(gè)技術(shù)巨頭肯死挺 Python。
可是,Python就是這樣一個(gè)帶著各種毛病沖到第一方陣的賽車手,但即便到了幾年前,也沒(méi)有多少人相信它有機(jī)會(huì)摘取桂冠,很多人認(rèn)為 Java 的位置不可動(dòng)搖,還有人說(shuō)一切程序都將用JavaScript重寫(xiě)。
但今天我們?cè)倏?,Python 已經(jīng)是數(shù)據(jù)分析和 AI的第一語(yǔ)言,網(wǎng)絡(luò)攻防的第一黑客語(yǔ)言,正在成為編程入門教學(xué)的第一語(yǔ)言,云計(jì)算系統(tǒng)管理第一語(yǔ)言。
Python 也早就成為Web 開(kāi)發(fā)、游戲腳本、計(jì)算機(jī)視覺(jué)、物聯(lián)網(wǎng)管理和機(jī)器人開(kāi)發(fā)的主流語(yǔ)言之一,隨著 Python 用戶可以預(yù)期的增長(zhǎng),它還有機(jī)會(huì)在多個(gè)領(lǐng)域里登頂。
為什么 Python 能夠后來(lái)居上呢?
如果泛泛而論,可以列舉Python 的一些優(yōu)點(diǎn),比如語(yǔ)言設(shè)計(jì)簡(jiǎn)潔優(yōu)雅,對(duì)程序員友好,開(kāi)發(fā)效率高。但我認(rèn)為這不是根本原因,因?yàn)槠渌恍┱Z(yǔ)言在這方面表現(xiàn)得并不差。
那為什么偏偏是 Python 能夠吸引人們使用,建立起這么好的基礎(chǔ)設(shè)施呢?為什么號(hào)稱“世界上最好的語(yǔ)言” PHP 里頭就沒(méi)有 numpy 、NLTK、sk-learn、pandas 和 PyTorch 這樣級(jí)別的庫(kù)呢?為什么 JavaScript 極度繁榮之后就搞得各種程序庫(kù)層次不齊,一地雞毛,而 Python 的各種程序庫(kù)既繁榮又有序,能夠保持較高水準(zhǔn)呢?
最根本的原因只有一點(diǎn):Python 是眾多主流語(yǔ)言中唯一一個(gè)戰(zhàn)略定位明確,而且始終堅(jiān)持原有戰(zhàn)略定位不動(dòng)搖的語(yǔ)言。相比之下,太多的語(yǔ)言不斷的用戰(zhàn)術(shù)上無(wú)原則的勤奮去侵蝕和模糊自己的戰(zhàn)略定位,最終只能等而下之。
Python的戰(zhàn)略定位是什么?其實(shí)很簡(jiǎn)單,就是要做一種簡(jiǎn)單、易用但專業(yè)、嚴(yán)謹(jǐn)?shù)耐ㄓ媒M合語(yǔ)言,或者叫膠水語(yǔ)言,讓普通人也能夠很容易的入門,把各種基本程序元件拼裝在一起,協(xié)調(diào)運(yùn)作。
正是因?yàn)閳?jiān)持這個(gè)定位,Python 始終把語(yǔ)言本身的優(yōu)美一致放在奇技妙招前面,始終把開(kāi)發(fā)者效率放在CPU效率前面,始終把橫向擴(kuò)張能力放在縱向深潛能力之前。長(zhǎng)期堅(jiān)持這些戰(zhàn)略選擇,為Python帶來(lái)了其他語(yǔ)言望塵莫及的豐富生態(tài)。
更重要的是,Python的包裝能力、可組合性、可嵌入性都很好,可以把各種復(fù)雜性包裝在 Python模塊里,暴露出漂亮的接口。
Python 也借助 AI 和數(shù)據(jù)科學(xué),攀爬到了編程語(yǔ)言生態(tài)鏈的頂級(jí)位置。Python 與 AI綁在一起,對(duì)它們來(lái)說(shuō),無(wú)論是電子商務(wù)、搜索引擎、社交網(wǎng)絡(luò)還是智能硬件,未來(lái)都只是生態(tài)鏈下游的數(shù)據(jù)奶牛、電子神經(jīng)和執(zhí)行工具,都將聽(tīng)命于自己。
Python 之所以在戰(zhàn)略定位上如此清晰,戰(zhàn)略堅(jiān)持上如此堅(jiān)定,歸根結(jié)底是因?yàn)槠渖鐓^(qū)構(gòu)建了一個(gè)堪稱典范的決策和治理機(jī)制。
最有可能向 Python 發(fā)起挑戰(zhàn)的,當(dāng)然是Java。Java 的用戶存量大,它本身也是一種戰(zhàn)略定位清晰而且非常堅(jiān)定的語(yǔ)言。但更多專業(yè)人士并不認(rèn)為 Java 有很大的機(jī)會(huì),因?yàn)樗举|(zhì)上是為構(gòu)造大型復(fù)雜系統(tǒng)而設(shè)計(jì)的。什么是大型復(fù)雜系統(tǒng)?就是由人清清楚楚描述和構(gòu)造出來(lái)的系統(tǒng),其規(guī)模和復(fù)雜性是外生的,或者說(shuō)外界賦予的。
而 AI 的本質(zhì)是一個(gè)自學(xué)習(xí)、自組織的系統(tǒng),其規(guī)模和復(fù)雜性是一個(gè)數(shù)學(xué)模型在數(shù)據(jù)的喂養(yǎng)下自己長(zhǎng)出來(lái)的,是內(nèi)生的。因此,Java大多數(shù)的語(yǔ)言結(jié)構(gòu)對(duì)于大數(shù)據(jù)的處理和 AI 系統(tǒng)的開(kāi)發(fā)顯得使不上勁,你強(qiáng)的東西這里用不上,這里需要的東西你做起來(lái)又別扭。
而 Python 在數(shù)據(jù)處理方面的簡(jiǎn)潔強(qiáng)悍早就盡人皆知。對(duì)比兩個(gè)功能相同的 Java 和 Python 機(jī)器學(xué)習(xí)程序,正常人只要看兩眼就能做出判斷,一定是Python程序更加清爽痛快。
參加奇酷教育的
Python培訓(xùn) 課程,與很多從零基礎(chǔ)開(kāi)始的學(xué)員共同學(xué)習(xí),有專業(yè)的多年經(jīng)驗(yàn)Python講師為你解答遇到的各種編程問(wèn)題,會(huì)少走許多的彎路,縮短學(xué)習(xí)的時(shí)間,全面系統(tǒng)的掌握Python編程需要學(xué)習(xí)的各種知識(shí)和要點(diǎn)。
奇酷教育原創(chuàng)開(kāi)發(fā)的Python課程不僅涵蓋Web前后端開(kāi)發(fā)和網(wǎng)絡(luò)爬蟲(chóng)技術(shù),還包括獨(dú)有的數(shù)據(jù)分析和機(jī)器學(xué)習(xí),前端、服務(wù)端一網(wǎng)打盡??蓮氖耊eb前端、Web服務(wù)端、服務(wù)器運(yùn)維、網(wǎng)絡(luò)爬蟲(chóng)、大數(shù)據(jù)分析、機(jī)器學(xué)習(xí)等多種熱門職業(yè),學(xué)員百分百高薪就業(yè)!