人工智能最火編程語(yǔ)言 Python大戰(zhàn)Java!
開(kāi)發(fā)者到底應(yīng)該學(xué)習(xí)哪種編程語(yǔ)言才能獲得機(jī)器學(xué)習(xí)或數(shù)據(jù)科學(xué)這類(lèi)工作呢?這是一個(gè)非常重要的問(wèn)題。我們?cè)谠S多論壇上都有討論過(guò)?,F(xiàn)在,我可以提供我自己的答案并解釋原因,但我們先看一些數(shù)據(jù)。畢竟,這是機(jī)器學(xué)習(xí)者和數(shù)據(jù)科學(xué)家應(yīng)該做的事情:看數(shù)據(jù),而不是看觀點(diǎn)。
話不多說(shuō),上數(shù)據(jù)。我搜索了與“機(jī)器學(xué)習(xí)”和“數(shù)據(jù)科學(xué)”一起使用的技能,搜索選項(xiàng)包括編程語(yǔ)言Java、C、C++和JavaScript。然后還包括了Python和R,因?yàn)槲覀冎浪跈C(jī)器學(xué)習(xí)和數(shù)據(jù)科學(xué)方面很受歡迎,當(dāng)然還有Scala,考慮到它與Spark的關(guān)系,再加上Julia,一些開(kāi)發(fā)中認(rèn)為這是“the next big thing”。運(yùn)行這個(gè)查詢,我們得到的數(shù)據(jù)如下:
當(dāng)我們關(guān)注機(jī)器學(xué)習(xí)時(shí),我們得到了類(lèi)似的數(shù)據(jù):
我們能從這些數(shù)據(jù)中得到什么啟示呢?
首先,我們看到并不是一招通吃。在這種情況下,各種機(jī)器學(xué)習(xí)編程語(yǔ)言都很受歡迎。
其次,所有這些編程語(yǔ)言都在急劇增長(zhǎng),反映出在過(guò)去幾年里,企業(yè)對(duì)機(jī)器學(xué)習(xí)和數(shù)據(jù)科學(xué)的關(guān)注和需求正在急速增加。
第三,Python很明顯的領(lǐng)導(dǎo)者,其次是Java,然后是R,再然后是C++。Python對(duì)Java的領(lǐng)先優(yōu)勢(shì)正在增加,而Java在R上的領(lǐng)先地位正在下降。必須承認(rèn),我很驚訝地看到Java名列第二;我本來(lái)是以為是R語(yǔ)言。
第四,Scala的增長(zhǎng)令人印象深刻。它在三年前幾乎是不存在的,現(xiàn)在和這些成熟的編程語(yǔ)言幾乎在同一個(gè)層面。當(dāng)我們切換到Indeed.com上的數(shù)據(jù)的相對(duì)視圖時(shí),這更容易發(fā)現(xiàn)。
第五,Julia的受歡迎程度雖然不明顯,但肯定有上升的趨勢(shì)。Julia將成為一種流行機(jī)器學(xué)習(xí)和數(shù)據(jù)科學(xué)編程語(yǔ)言嗎?未來(lái)會(huì)告訴你。
如果我們忽略Scala和Julia,以便能夠聚焦其他編程語(yǔ)言的增長(zhǎng),那么我們毫無(wú)疑問(wèn)可以確認(rèn):Python和R的增長(zhǎng)速度要快于通用語(yǔ)言。
考慮到增長(zhǎng)率的差異,R的受歡迎程度可能很快就會(huì)超過(guò)Java。
當(dāng)我們專(zhuān)注于深度學(xué)習(xí)這個(gè)問(wèn)題時(shí),數(shù)據(jù)是完全不同的:
這時(shí),Python仍然是領(lǐng)導(dǎo)者,但C++現(xiàn)在是第二,然后是Java,而C在第四,R只在第5。這里顯然強(qiáng)調(diào)了高性能計(jì)算語(yǔ)言。Java正在快速發(fā)展。它可以很快達(dá)到第二名,就像一般的機(jī)器學(xué)習(xí)一樣。R不會(huì)很快接近頂部。令我驚訝的是Lua的缺席,盡管它在一個(gè)主要的深度學(xué)習(xí)框架(orch)中使用,而Julia不存在。
到這時(shí),到底哪種語(yǔ)言才是最受歡迎的編程語(yǔ)言呢?答案應(yīng)該很清楚了。當(dāng)涉及到機(jī)器學(xué)習(xí)和數(shù)據(jù)科學(xué)工作時(shí),Python、Java和R是最流行的技能。如果你想專(zhuān)注于深度學(xué)習(xí),而不是一般的機(jī)器學(xué)習(xí),那么,在某種程度上來(lái)說(shuō)C++、C也是值得考慮的。然而,請(qǐng)記住,這只是看待問(wèn)題的一種方式。如果你想找一份工作,或者你只是想在業(yè)余時(shí)間學(xué)習(xí)機(jī)器學(xué)習(xí)和數(shù)據(jù)科學(xué),你可能會(huì)得到不同的答案。
我的個(gè)人答案呢?除了有許多頂級(jí)機(jī)器學(xué)習(xí)框架的支持之外,Python對(duì)我來(lái)說(shuō)很適合,因?yàn)槲矣杏?jì)算機(jī)科學(xué)的背景。對(duì)于開(kāi)發(fā)新的算法,我也會(huì)感到很舒服,因?yàn)槲业拇蟛糠致殬I(yè)生涯都是用這種語(yǔ)言編程的。但這就是我,有不同背景的人可能會(huì)覺(jué)得用另一種語(yǔ)言更好。一個(gè)擁有有限編程技能的統(tǒng)計(jì)學(xué)家肯定會(huì)更喜歡R。一個(gè)強(qiáng)大的Java開(kāi)發(fā)人員可以使用他最喜歡的語(yǔ)言,因?yàn)橛写罅康腏ava API的開(kāi)放源代碼。對(duì)于這些圖表上的任何一種語(yǔ)言,都可以有類(lèi)似的例子。
因此,我的建議是,在花大量時(shí)間學(xué)習(xí)一門(mén)語(yǔ)言之前,根據(jù)自己的情況來(lái)決定選擇哪種編程語(yǔ)言,切記千萬(wàn)不可跟風(fēng)。
相關(guān)書(shū)籍推薦:
你眼中的Python大牛 應(yīng)該都有這份書(shū)單
不可錯(cuò)過(guò)的十本Python好書(shū)
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- golang、python、php、c++、c、java、Nodejs性能對(duì)比
- 為什么入門(mén)大數(shù)據(jù)選擇Python而不是Java?
- Java與Python兩大幸存者誰(shuí)更勝一籌呢
- python、java等哪一門(mén)編程語(yǔ)言適合人工智能?
- C、C++、Java到Python,編程入門(mén)學(xué)習(xí)什么語(yǔ)言比較好
- 大數(shù)據(jù)分析用java還是Python
- Python和Java的語(yǔ)法對(duì)比分析語(yǔ)法簡(jiǎn)潔上python的確完美勝出
- python和java哪個(gè)學(xué)起來(lái)更簡(jiǎn)單
- 初學(xué)者學(xué)習(xí)Python好還是Java好
- 將來(lái)會(huì)是Python、Java、Golang三足鼎立的局面嗎
- 開(kāi)發(fā)者必讀:揭秘Python與Java的性能較量
相關(guān)文章
Python Pandas批量讀取csv文件到dataframe的方法
這篇文章主要介紹了Python Pandas批量讀取csv文件到dataframe的方法,需要的朋友可以參考下2018-10-10Python 實(shí)現(xiàn)Windows開(kāi)機(jī)運(yùn)行某軟件的方法
今天小編就為大家分享一篇Python 實(shí)現(xiàn)Windows開(kāi)機(jī)運(yùn)行某軟件的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-10-10Selenium+Python自動(dòng)化腳本環(huán)境搭建的全過(guò)程
說(shuō)到自動(dòng)化測(cè)試,就不得不提大名鼎鼎的Selenium,Selenium 是如今最常用的自動(dòng)化測(cè)試工具之一,支持快速開(kāi)發(fā)自動(dòng)化測(cè)試框架,且支持在多種瀏覽器上執(zhí)行測(cè)試,下面這篇文章主要給大家介紹了關(guān)于Selenium+Python自動(dòng)化腳本環(huán)境搭建的相關(guān)資料,需要的朋友可以參考下2021-09-09Python詳解argparse參數(shù)模塊之命令行參數(shù)
這篇文章主要介紹了Python詳解argparse參數(shù)模塊之命令行參數(shù),文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考下面文章詳解2022-07-07pandas的drop_duplicates無(wú)法去重問(wèn)題解決
在我們利用Pandas進(jìn)行數(shù)據(jù)清洗的時(shí)候,往往會(huì)用到drop_duplicates()進(jìn)行去重,本文主要介紹了pandas的drop_duplicates無(wú)法去重問(wèn)題解決,具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03使用Python實(shí)現(xiàn)多功能課堂點(diǎn)名器與抽簽工具
這篇文章主要為大家詳細(xì)介紹了如何使用Python實(shí)現(xiàn)多功能課堂點(diǎn)名器,也可以用作抽簽工具,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-02-02Windows 安裝 Anaconda3+PyCharm的方法步驟
這篇文章主要介紹了Windows 安裝 Anaconda3+PyCharm的方法步驟,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-06-06Python中os.path模塊的8個(gè)神奇函數(shù)分享
在Python編程中,os.path模塊是一個(gè)非常重要的模塊,它提供了用于處理文件路徑和目錄的函數(shù),本文將介紹os.path模塊中最常用的8個(gè)內(nèi)置函數(shù),需要的可以參考下2023-11-11Python函數(shù)元數(shù)據(jù)實(shí)現(xiàn)為一個(gè)參數(shù)指定多個(gè)類(lèi)型
這篇文章主要介紹了Python函數(shù)元數(shù)據(jù)實(shí)現(xiàn)為一個(gè)參數(shù)指定多個(gè)類(lèi)型方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02