開發者到底應該學習哪種編程語言才能獲得機器學習或數據科學這類工作呢?這是一個非常重要的問題。我們在許多論壇上都有討論過。現在,我可以提供我自己的答案并解釋原因,但我們先看一些數據。畢竟,這是機器學習者和數據科學家應該做的事情:看數據,而不是看觀點。
話不多說,上數據。我搜索了與“機器學習”和“數據科學”一起使用的技能,搜索選項包括編程語言Java、C、C++和JavaScript。然后還包括了Python和R,因為我們知道它在機器學習和數據科學方面很受歡迎,當然還有Scala,考慮到它與Spark的關系,再加上Julia,一些開發中認為這是“the next big thing”。運行這個查詢,我們得到的數據如下:

當我們關注機器學習時,我們得到了類似的數據:

我們能從這些數據中得到什么啟示呢?
首先,我們看到并不是一招通吃。在這種情況下,各種機器學習編程語言都很受歡迎。
其次,所有這些編程語言都在急劇增長,反映出在過去幾年里,企業對機器學習和數據科學的關注和需求正在急速增加。
第三,Python很明顯的領導者,其次是Java,然后是R,再然后是C++。Python對Java的領先優勢正在增加,而Java在R上的領先地位正在下降。必須承認,我很驚訝地看到Java名列第二;我本來是以為是R語言。
第四,Scala的增長令人印象深刻。它在三年前幾乎是不存在的,現在和這些成熟的編程語言幾乎在同一個層面。當我們切換到Indeed.com上的數據的相對視圖時,這更容易發現。

第五,Julia的受歡迎程度雖然不明顯,但肯定有上升的趨勢。Julia將成為一種流行機器學習和數據科學編程語言嗎?未來會告訴你。
如果我們忽略Scala和Julia,以便能夠聚焦其他編程語言的增長,那么我們毫無疑問可以確認:Python和R的增長速度要快于通用語言。

考慮到增長率的差異,R的受歡迎程度可能很快就會超過Java。
當我們專注于深度學習這個問題時,數據是完全不同的:

這時,Python仍然是領導者,但C++現在是第二,然后是Java,而C在第四,R只在第5。這里顯然強調了高性能計算語言。Java正在快速發展。它可以很快達到第二名,就像一般的機器學習一樣。R不會很快接近頂部。令我驚訝的是Lua的缺席,盡管它在一個主要的深度學習框架(orch)中使用,而Julia不存在。
新聞熱點
疑難解答