Golang和Python究竟哪種語言更適合AI工程師?Python很出色,但對于AI編程來說,Golang或許更合適。
作者 | Michael lyam
譯者 | 孫薇,責編 | 郭芮
以下為譯文:
Golang語言出現于大約十年前,也就是2009年11月,到現在剛滿10歲不久。這門由google工程師所開發的語言,大大提高了開發者的工作效率。語言開發者的初衷是希望這種語言能消除C++等語言中的所謂“額外垃圾”,它允許我們編譯機器碼,支持運行時反射,并有著便利的垃圾回收機制。
Golang語言如今正成為機器學習及AI的主流編程語言,惠及全球數百萬的用戶。一些大品牌包括網飛、美國運通、Uber、Dropbox、Salesforce、Twitter以及Twitch等都是Golang的用戶。
Golang會淘汰Python嗎?答案是:并不會。
Python使用廣泛,且用途太多,反而因此過時。它是一種編程語言,可以將數千個組件從單獨的模塊編譯為整個的開發程序包。Python還有一個強大的社區,并有望在未來數十年間保持活躍。同時,在多種環境的測試下,Python公認是開發初學者極易入手的編程語言,深受年輕開發者的追捧。Go語言的性能在編寫服務器端腳本時要優于Python,因此,如果你要尋找的是具有快速部署周期的超高性能并發服務時,Golang會優于Python。
但是,如今Go和Python被并稱為最適合AI專業人士的熱門語言。當公司同時使用這兩種語言時,提出一個嚴峻的解決方案對我們來說可能會是個挑戰。
對于AI工程師,Golang的優勢
AI即將席卷整個技術世界。機器學習、自我糾正和推理都是一些可以模仿人類智能的應用程序。如今,AI驅動的應用使企業能夠改善自身資源運用,從而造成積極的影響。
高可伸縮性及計算能力:與Python相比,Golang在可伸縮性和性能方面的潛力更大,使用Go是出于這樣的考量:Go在數學計算方面速度更高。比如,與Python相比,Go可以處理高達20-50倍數量的復雜數學問題,且處理速度更快。Golang在AI上的用途更廣:盡管Go的庫比較小,但一直持續增長,覆蓋了AI方面多個用途的需求。Go的數據庫,如GoLearn(數據處理),Goml(傳輸數據)以及Hector(解決二進制分類問題)都是為AI及其應用服務的一些庫。提供良好的代碼可讀性:Go語言所用的算法提供了一種極簡主義的方法,允許開發者輕松編寫可讀的代碼。Go語言的開發者可以輕松使用Go語言庫:大多Go語言的開發者不需要選擇其他編程語言所編寫的庫。Go擁有庫的核心優勢在于:使用Go語言的AI專業人士可以獲得開發者的舒適感。
對于AI工程師:Python的優勢
IT行業中新貴是什么?答案大多集中在機器學習和AI等領域,且確實如此。這兩種技術一直是IT行業的主流,且會一直延續到短期未來。
多個庫:有各種各樣的庫可以協助AI工程師構建全新的算法、進行數據集的處理、處理模型、處理最為復雜的數據等,還提供了更多其他的功能。別忘了,TensorFlow就是最熱門的庫之一,還是開源的,可用于Google多個機器學習的應用。作為一門語言,Python是可訪問的:從業務方面來說,語言的可訪問性僅僅意味著擁有龐大的Python編程專家市場。此外,我們知道這些編程語言已經在全球范圍內普及起來。強大的社區:Python具有完善的強大社區。根據2019年的GitHub報告,全世界大約有100萬次pull request,該社區傾向于為創建新庫投入資源,以擴展Python工具集及更新相關文檔。
為什么要用Golang,而不是Python?
在可伸縮性上,Golang任務就是維護并幫助開發者在更大范圍內解決問題,這也是Golang內置支持并發流程通道的原因。但Python在并發方面則面臨著重大挑戰。
由于支持并發,Go語言廣泛運用在集群計算和云計算方面。
如上所述,當涉及到可讀性時,Python肯定更占優勢,但有時未免太過。Python確實為使用者在同一件事的闡述上提供了多種方式,但反而常會引發混亂。相反,Go語言在編程時遵循著嚴格的規則,不允許簡單導入不需要的庫,也不允許創建不必要的變量。當然,這意味著Go語言在執行任務時優勢更大。盡管有些人可能對代碼非通用的事實不太滿意,但會有人在乎核心編程的事情嗎?也許,只要代碼是可讀的,就無需在意了。
想要就哪種語言更好得出結論,可能是一項艱巨的工作。盡管大多數情況下,Golang似乎占了上風。目前,它的耀眼程度可能還不如Python,但最終某天會成長到那個程度。根據記錄,Python花費了20年才達到如今的水平,最初10年中Python并未引起太多關注,直到2001年才逐漸崛起。因此,Go語言也一定會趕上如今的Python,也許在引發關注方面,Go語言已經有了一定出色的表現。
原文:https://www.rtinsights.com/why-golang-and-not-python-which-language-is-perfect-for-ai/
作者:Michael lyam, 作家、AI極客、企業及社交媒體策略師。專業領域包括:人工智能、機器學習、物聯網、數據科學、區塊鏈和企業戰略等主題。
譯者:孫薇,前產品經理,現從事科幻小說及技術文章的編輯工作,兼職翻譯。
本文為 CSDN 翻譯,轉載請注明來源出處