要獲得「機器學習或數據科學」的工作,到底選哪種編程語言更好?
如果想要獲得機器學習或者數據科學這樣的工作的話,開發者到底應該學習哪種編程語言呢?這是一個非常重要的問題。
在http://Indeed.com上使用趨勢搜索。
它可以根據時間搜尋實際工作機會中特定的條款。
這表明了僱主們正在尋找擁有該技能的人才。
然而,請注意,這並不是一項有效使用技能的民意調查。
這種指標更能體現技能的受歡迎程度。
在此搜索了「機器學習」和「數據科學」一起使用的技能。
- 搜索選項包括編程語言Java、C、C+++和JavaScript;
- 然後還包括了Python和R,因為我們知道它在機器學習和數據科學方面很受歡迎;
- 當然還有Scala,考慮到它與Spark的關係,再加上Julia,一些開發中認為這是「the next big thing」;
- 也加入了Go、PHP等語言,為了使得調查更為完整,所以竟可能多的加入語言。
運行這個查詢,我們得到的數據如下:
當我們關注機器學習時,我們得到了類似的數據:
我們能從這些數據中得到什麼啟示呢?
- 我們看到的並不是某一種語言獨佔鰲頭,數據差距並不是太大,各種機器學習編程語言都很受歡迎,但是Python位列第一。
- 所有這些編程語言都在急劇增長。能夠反映出在過去幾年裡,企業對機器學習和數據科學的關注和需求正在急速增加。
- Python很明顯的領導者,其次是Java,然後是R,再然後是C++。必須承認,我很驚訝地看到Java名列第二;我本來是以為是R語言。畢竟R語言多用於數據挖掘和機器學習,而Java大多應用於企業級開發應用。
- Scala的增長令人印象深刻。它在三年前幾乎是不存在的,現在和這些成熟的編程語言幾乎在同一個層面。
- Julia的受歡迎程度雖然不明顯,但肯定有上升的趨勢。
如果我們忽略Scala和Julia,以便能夠聚焦其他編程語言的增長,那麼我們毫無疑問可以確認:Python和R的增長速度要快於通用語言。
考慮到增長率的差異,R的受歡迎程度可能很快就會超過Java。
當我們專註於深度學習這個問題時,數據是完全不同的:
根據這個數據我們可以得知:
Python仍然是領導者,但C++現在是第二,然後是C,而Java在第四,R只在第5。
這裡顯然強調了高性能計算語言。Java正在快速發展。它可以很快達到第二名,就像一般的機器學習一樣。R不會很快接近頂部。Julia不存在。
到這時,到底哪種語言才是最受歡迎的學習語言呢?答案應該已經很清楚了。
- 當涉及到機器學習和數據科學工作時,Python、Java和R是最流行的技能。
- 而你想專註於深度學習,而不是一般的機器學習,那麼,在某種程度上來說C++、C也是值得考慮的。
然而,請記住,這只是分析問題的一種方式。如果你想找一份工作,或者你只是想在業餘時間學習機器學習和數據科學,你可能會得到不同的答案。
不同背景的人,所側重的語言學習是不一樣的,如果是金融專業做數據分析的話,可能Python或R更適合一些。而一個Java開發人員可以使用他最喜歡或者最擅長的語言會更好。
因此,在花大量時間學習一門語言之前,根據自己的情況來決定選擇哪種編程語言,切記千萬不可跟風。
時間就是生命,允許插播一條小廣告,12月18日Java新手脫產班1元成團,名額有限
點擊鏈接(http://www.zuikc.com/mobwechat/home/TokerSignUp?actionid=9&tuiguanuid=0
),了解課程及活動詳情。
推薦閱讀: