13161216443

您所在位置: 首頁> python技術> Python語言與人工智能(AI)

Python語言與人工智能(AI)

發布百知教育 來源:python技術 2019-07-03

誰會成為AI 和大數據時代的第一開發語言?

 三年前,Matlab、Scala、R、Java 和 Python在AI和大數據開發領域各領風騷,蓬勃發展,然而三年之后,趨勢已經非常明確了,特別是前兩天 Facebook 開源了 PyTorch 之后,Python 作為 AI 時代頭牌語言的位置基本確立,未來的懸念僅僅是誰能坐穩第二把交椅。不過市場上也有熱衷 Java 的聲音,因為 Hadoop 等大數據基礎設施是用 Java 寫的。


為什么 Python 能夠后來居上呢?

如果泛泛而論,列舉 Python 的一些優點,比如語言設計簡潔優雅,對程序員友好,開發效率高。但我認為這不是根本原因,因為其他一些語言在這方面表現得并不差。

還有人認為 Python 的優勢在于資源豐富,擁有堅實的數值算法、圖標和數據處理基礎設施,建立了非常良好的生態環境,吸引了大批科學家以及各領域的專家使用,從而把雪球越滾越大。

但我覺得這是倒因為果。為什么偏偏是 Python 能夠吸引人們使用,建立起這么好的基礎設施呢?為什么世界上最好的語言 PHP 里頭就沒有 numpy 、NLTK、sk-learn、pandas 和 PyTorch 這樣級別的庫呢?為什么 JavaScript 極度繁榮之后就搞得各種程序庫層次不齊,一地雞毛,而 Python 的各種程序庫既繁榮又有序,能夠保持較高水準呢?

最根本的原因只有一點:Python 是眾多主流語言中唯一一個戰略定位明確,而且始終堅持原有戰略定位不動搖的語言。相比之下,太多的語言不斷的用戰術上無原則的勤奮去侵蝕和模糊自己的戰略定位,最終只能等而下之。

Python 的戰略定位是什么?其實很簡單,就是要做一種簡單、易用但專業、嚴謹的通用組合語言,或者叫膠水語言,讓普通人也能夠很容易的入門,把各種基本程序元件拼裝在一起,協調運作。

1111

正是因為堅持這個定位,Python 始終把語言本身的優美一致放在奇技妙招前面,始終把開發者效率放在CPU效率前面,始終把橫向擴張能力放在縱向深潛能力之前。長期堅持這些戰略選擇,為 Python 帶來了其他語言望塵莫及的豐富生態。

比如說,任何一個人,只要愿意學習,可以在幾天的時間里學會Python基礎部分,然后干很多很多事情,這種投入產出比可能是其他任何語言都無法相比的。

再比如說,正是由于 Python 語言本身慢,所以大家在開發被頻繁使用的核心程序庫時,大量使用 C 語言跟它配合,結果用 Python 開發的真實程序跑起來非???,因為很有可能超過 80% 的時間系統執行的代碼是 C 寫的。

相反,如果 Python 不服氣,非要在速度上較勁,那么結果很可能是裸速提高個幾倍,但這樣就沒人有動力為它開發 C 模塊了,最后的速度遠不如混合模式,而且很可能語言因此會變得更復雜,結果是一個又慢又丑陋的語言。

更重要的是,Python 的包裝能力、可組合性、可嵌入性都很好,可以把各種復雜性包裝在 Python 模塊里,暴露出漂亮的接口。

很 多時候,一個程序庫本身是用 C/C++ 寫的,但你會發現,直接使用 C 或者 C++ 去調用那個程序庫,從環境配置到接口調用,都非常麻煩,反而隔著一層,用其python 包裝庫更加清爽整潔,又快又漂亮。這些特點到了 AI 領域中,就成了 Python 的強大優勢。

Python 也借助 AI 和數據科學,攀爬到了編程語言生態鏈的頂級位置。Python 與 AI綁在一起,對它們來說,無論是電子商務、搜索引擎、社交網絡還是智能硬件,未來都只是生態鏈下游的數據奶牛、電子神經和執行工具,都將聽命于自己。

對編程語言發展歷史缺乏了解的人可能會覺得,Python 的戰略定位是犬儒主義和缺乏進取心的。但事實證明,能同時做到簡單而嚴謹、易用而專業,是很難的,而能夠堅守膠水語言的定位,更是難上加難。

有的語言,從一開始就是出于學術而非實用的目的,學習曲線過于陡峭,一般人很難接近。

有的語言,過于依賴背后金主的商業支持,好的時候風光無限,一旦被打入冷宮,連生存下去都成問題。

有的語言,設計的時候有明確的假想場景,要么是為了解決大規模并發,要么是為了解決矩陣運算,要么是為了做網頁渲染模板,一旦離開這個場景,就各種不爽。

更多的語言,剛剛取得一點成功,就迫不及待的想成為全能冠軍,在各個方向上拼命的伸展觸角,特別是在增強表達能力和提升性能方面經常過分積極,不惜將核心語言改得面目全非,最后變成誰都無法掌控的龐然大物。

相比之下,Python 是現代編程語言設計和演化當中的一個成功典范。

Python 之所以在戰略定位上如此清晰,戰略堅持上如此堅定,歸根結底是因為其社區構建了一個堪稱典范的決策和治理機制。

這個機制以 Guido van Rossum (BDFL,Pythoners 都知道這是什么意思), DavidBeazley, Raymond Hettinger 等人為核心,以 PEP 為組織平臺,民主而有序,集中而開明。只要這個機制本身得以維系,Python 在可見的未來里仍將一路平穩上行。

上一篇:python常見面試題大全

下一篇:應屆生去公司找個Java程序員的職位需要什么技能?

相關推薦

www.akpsimsu.com

有位老師想和您聊一聊

關閉

立即申請