0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Golang與Python語言到底誰更適合AI

Wildesbeast ? 來源:今日頭條 ? 作者:橘子鍵盤手 ? 2020-02-07 15:25 ? 次閱讀

近幾年,AI勢頭越來越猛,許多創(chuàng)新型企業(yè)都開始涉入AI領(lǐng)域,同時(shí)計(jì)算機(jī)硬件水平也突飛猛進(jìn),為了加快產(chǎn)品應(yīng)用開發(fā)效率及瓶頸問題,Google所開發(fā)的Golang應(yīng)運(yùn)而生,正在成為機(jī)器學(xué)習(xí)和AI的主流編程語言,全球已有數(shù)百萬用戶。那么很多IT技術(shù)人員肯定會(huì)有這樣的疑問,前些年火起來的Python在科學(xué)計(jì)算及AI領(lǐng)域也有廣泛應(yīng)用,那么這兩者今后誰才是AI的菜呢?

Python很棒,但是Golang也不遜色!

Golang為并發(fā)而生

如今,硬件制造廠商正在為處理器添加越來越多的內(nèi)核以提高性能。數(shù)據(jù)中心都在處理器上運(yùn)行,應(yīng)用程序使用多個(gè)微服務(wù)來維護(hù)數(shù)據(jù)庫連接,消息隊(duì)列和維護(hù)緩存。因此,編程語言和應(yīng)用程序應(yīng)該可以輕松地支持并發(fā)性,并且應(yīng)該能夠隨著CPU核心數(shù)量的增加而具備相應(yīng)的擴(kuò)展性。

但是,大多數(shù)現(xiàn)代編程語言(如Java,Python等)都是來自90年代的單線程環(huán)境。雖然一些編程語言的框架在不斷地提高多核資源使用效率,例如 Java 的 Netty 等,但仍然需要開發(fā)人員花費(fèi)大量的時(shí)間和精力搞懂這些框架的運(yùn)行原理,才能熟練的運(yùn)用到生成開發(fā)中。

Golang于2009年11月發(fā)布,當(dāng)時(shí)多核處理器已經(jīng)上市,Go語言在多核并發(fā)上擁有原生的設(shè)計(jì)優(yōu)勢,Go語言從底層原生支持并發(fā),無須第三方庫、開發(fā)者的編程技巧和開發(fā)經(jīng)驗(yàn)。

Golang現(xiàn)在正成為機(jī)器學(xué)習(xí)和AI的主流編程語言,全球已有數(shù)百萬用戶使用。國內(nèi)例如有阿里巴巴、滴滴、京東、知乎、七牛云、小米等科技互聯(lián)網(wǎng)公司,國外有Google、Facebook、Uber、Dropbox、Salesforce、Twitter等等。

Golang會(huì)淘汰Python嗎?

Python被廣泛使用,而且用途太多,它可將數(shù)千個(gè)組件從單個(gè)模塊編譯為整個(gè)開發(fā)的程序包。Python還有一個(gè)強(qiáng)大的社區(qū),它有望在未來幾十年內(nèi)保持活力。經(jīng)過多種環(huán)境的測試,對于初學(xué)者來說,使用Python編程很容易,并且被認(rèn)為是年輕開發(fā)人員的最愛。在編寫服務(wù)器端腳本時(shí),Go語言的性能優(yōu)于Python。因此,在尋找具有快速部署周期的超高性能并發(fā)服務(wù)時(shí),Golang將優(yōu)于Python。

然而,最近,Golang和Python被稱為最適合AI開發(fā)者的流行語言。當(dāng)公司中同時(shí)存在使用這兩種語言的團(tuán)隊(duì)時(shí),組織內(nèi)部將會(huì)出現(xiàn)以下兩個(gè)門派。

AI工程師中的Golang粉

AI即將席卷整個(gè)技術(shù)世界。機(jī)器學(xué)習(xí),自我糾正和推理是一些可以模仿人類智能的應(yīng)用程序。人工智能驅(qū)動(dòng)的應(yīng)用程序現(xiàn)在使企業(yè)能夠改善其資源的使用,從而產(chǎn)生積極的影響。

高可擴(kuò)展性和計(jì)算能力:與Python相比,Golang在可擴(kuò)展性和性能方面具有更高的潛力。使用Go的想法是因?yàn)榕c數(shù)學(xué)計(jì)算速度相比,它具有較高的速度。例如,與Python相比,它可以處理高達(dá)20至50倍且速度更快的復(fù)雜數(shù)學(xué)問題。

Golang涵蓋了廣泛的AI用途:盡管Go提供了小型庫,但它一直在不斷增長,從而解決了許多AI用途。Go庫(例如GoLearn(數(shù)據(jù)處理),Goml(傳遞數(shù)據(jù))和Hector(二進(jìn)制分類問題))是為AI及其應(yīng)用程序服務(wù)的一些庫。

提供了大量的代碼可讀性:Go中使用的算法提供了一種極簡主義的方法,使開發(fā)人員可以輕松地創(chuàng)建可讀代碼。

Go開發(fā)人員易于使用Go庫:大多數(shù)Go開發(fā)人員不需要選擇用其他編程語言編寫的庫。在Go中擁有庫的核心優(yōu)勢在于,它為AI專業(yè)人員提供了與Go一起進(jìn)行編程的開發(fā)人員的便利。

AI工程師中的Python粉

如今在IT行業(yè)中,機(jī)器學(xué)習(xí)和AI這兩種技術(shù)一直是IT行業(yè)的主流,并將會(huì)有一個(gè)美好的將來。

多個(gè)庫:多個(gè)庫可以幫助AI工程師構(gòu)建新算法,進(jìn)行數(shù)據(jù)集處理,進(jìn)行模型處理,處理最復(fù)雜的數(shù)據(jù)以及更多其他功能。別忘了,TensorFlow是最流行的庫(開源)之一,可用于Google的許多機(jī)器學(xué)習(xí)應(yīng)用程序。

Python是一種可訪問性的語言:從商業(yè)角度來講,語言的可訪問性意味著擁有大量的Python編程市場。此外,正如我們所知,這些編程語言已遍布全球。

強(qiáng)大的社區(qū):Python具有完善的強(qiáng)大社區(qū)。據(jù)GitHub在2019年中的統(tǒng)計(jì),在全球范圍內(nèi)發(fā)送了近一百萬次服務(wù)請求。社區(qū)傾向于為創(chuàng)建新庫以擴(kuò)展工具集和更新文檔做出貢獻(xiàn)。

為什么是Golang而不是Python?

編程語言的可伸縮性可以維護(hù)和幫助開發(fā)人員更大規(guī)模地解決問題。Golang內(nèi)在支持適當(dāng)?shù)牟l(fā)流程通道,而Python在并發(fā)方面將面臨著巨大的挑戰(zhàn)。由于Golang提供了并發(fā)支持,因此Go在群集計(jì)算和云計(jì)算中已被廣泛接受。

如果涉及到可讀性時(shí),Python肯定會(huì)被提名,但是有時(shí)也會(huì)被夸大其詞。Python確實(shí)可以提供多種方法來實(shí)現(xiàn)不同的業(yè)務(wù)場景,但是這常常會(huì)引起混亂。然而,Go在編程方面遵循嚴(yán)格的規(guī)則,它不允許簡單地導(dǎo)入不需要的庫,也不允許創(chuàng)建不必要的變量。所以,這意味著Go具有更好的執(zhí)行優(yōu)勢,保證代碼風(fēng)格的一致性,可以在跨部門協(xié)作中提高團(tuán)隊(duì)開發(fā)的工作效率。盡管有些人可能不同意,只要代碼可讀即可。

得出哪種語言更好的結(jié)論可能是一件比較難的事,盡管在大多數(shù)情況下,Golang似乎占了上風(fēng)。目前,它的火熱程度可能還不如Python,但最終它將在某天到達(dá)。根據(jù)記錄,Python花費(fèi)了二十年才能達(dá)到今天的水平。在最初的十年中,Python的存在并未引起人們的注意,直到2001年它才開始引起人們的注意。因此,Go一定會(huì)趕上。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10870

    瀏覽量

    211896
  • AI
    AI
    +關(guān)注

    關(guān)注

    87

    文章

    30947

    瀏覽量

    269209
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4797

    瀏覽量

    84727
收藏 人收藏

    評論

    相關(guān)推薦

    Triton編譯器支持的編程語言

    編寫和優(yōu)化深度學(xué)習(xí)代碼。Python是一種廣泛使用的高級編程語言,具有簡潔易讀、易于上手、庫豐富等特點(diǎn),非常適合用于深度學(xué)習(xí)應(yīng)用的開發(fā)。 二、領(lǐng)域特定語言(DSL) Triton也提供
    的頭像 發(fā)表于 12-24 17:33 ?351次閱讀

    編程語言在人工智能中的使用

    。編程語言AI的發(fā)展中扮演著至關(guān)重要的角色,它們?yōu)殚_發(fā)人員提供了構(gòu)建和實(shí)現(xiàn)智能系統(tǒng)的工具和框架。 1. Python Python是人工智能領(lǐng)域最受歡迎的編程
    的頭像 發(fā)表于 11-15 09:34 ?304次閱讀

    對比Python與Java編程語言

    Python與Java都是目前非常流行的編程語言,它們各有其獨(dú)特的優(yōu)勢和適用場景。以下是對這兩種編程語言的對比: 一、語法和易用性 Python 語法簡潔,代碼更易讀,非常
    的頭像 發(fā)表于 11-15 09:31 ?328次閱讀

    HDMI vs DisplayPort:更適合你的電腦和電視?—— 山澤為你解答

    在選擇連接電腦和電視的接口時(shí),HDMI和DisplayPort是兩個(gè)常見的選項(xiàng)。它們各自有哪些優(yōu)缺點(diǎn)?哪一種更適合你?讓我們一起來看看吧! 基本概念 HDMI (High-Definition
    的頭像 發(fā)表于 10-23 14:25 ?332次閱讀

    PythonAI中的應(yīng)用實(shí)例

    Python在人工智能(AI)領(lǐng)域的應(yīng)用極為廣泛且深入,從基礎(chǔ)的數(shù)據(jù)處理、模型訓(xùn)練到高級的應(yīng)用部署,Python都扮演著至關(guān)重要的角色。以下將詳細(xì)探討Python
    的頭像 發(fā)表于 07-19 17:16 ?1124次閱讀

    Python語言基礎(chǔ)2

    電子發(fā)燒友網(wǎng)站提供《Python語言基礎(chǔ)2.rar》資料免費(fèi)下載
    發(fā)表于 07-17 17:23 ?1次下載

    opencv-python和opencv一樣嗎

    是OpenCV的一個(gè)Python語言接口,它允許開發(fā)者使用Python語言來調(diào)用OpenCV庫的功能。 雖然OpenCV和OpenCV-Python
    的頭像 發(fā)表于 07-16 10:38 ?1216次閱讀

    使用Python進(jìn)行自然語言處理

    在探討使用Python進(jìn)行自然語言處理(NLP)的廣闊領(lǐng)域時(shí),我們首先需要理解NLP的基本概念、其重要性、Python在NLP中的優(yōu)勢,以及如何通過Python實(shí)現(xiàn)一些基礎(chǔ)的NLP任務(wù)
    的頭像 發(fā)表于 07-04 14:40 ?458次閱讀

    ChatGPT、Gemini、通義千問等一眾大語言模型,哪家更適合您?

    ]?就以“ChatGPT、Gemini、通義千問等一眾大語言模型,哪家更適合您”這樣的主題,開展了一次深度的大語言模型的測評。開放夜現(xiàn)場測評了十幾個(gè)國內(nèi)外大語言模型,測評角度從邏輯、數(shù)
    的頭像 發(fā)表于 05-14 17:35 ?660次閱讀

    stm32l4、msp430、msp432到底功耗低?

    stm32l4、msp430、msp432到底功耗低,性能如何,希望大家一起討論。
    發(fā)表于 05-13 08:25

    Golang為何舍棄三元運(yùn)算符

    golang中不存在?:運(yùn)算符的原因是因?yàn)?b class='flag-5'>語言設(shè)計(jì)者已經(jīng)預(yù)見到三元運(yùn)算符經(jīng)常被用來構(gòu)建一些極其復(fù)雜的表達(dá)式。雖然使用if進(jìn)行替代會(huì)讓代碼顯得更長,但這毫無疑問可讀性更強(qiáng)。
    的頭像 發(fā)表于 04-03 15:13 ?704次閱讀

    Python語言支持KIT_A2G_TC387_MOTORCTR嗎?

    使用KIT_A2G_TC387_MOTORCTR開發(fā)項(xiàng)目的語言 2. Python語言支持KIT_A2G_TC387_MOTORCTR嗎? 如果支持,使用 Python 是否更方便?
    發(fā)表于 03-04 07:45

    c語言,c++,java,python區(qū)別

    C語言、C++、Java和Python是四種常見的編程語言,各有優(yōu)點(diǎn)和特點(diǎn)。 C語言: C語言是一種面向過程的編程
    的頭像 發(fā)表于 02-05 14:11 ?2415次閱讀

    ADSP-CM403BSWZ-CF和ADSP BF518相比到底速度快?

    1. 如題,ADSP-CM403BSWZ-CF(240Mhz)和SHARCDSP 比如ADSP-21479 (300Mhz)綜合到底強(qiáng)?如果只比浮點(diǎn)DSP性能(速度)呢?比如FIR,DFFT
    發(fā)表于 01-15 06:04

    如何使用Golang連接MySQL

    首先我們來看如何使用Golang連接MySQL。
    的頭像 發(fā)表于 01-08 09:42 ?3386次閱讀
    如何使用<b class='flag-5'>Golang</b>連接MySQL