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