為什麼有人說Java缺乏科學計算、機器學習等生態圈?IT人劉俊明2018-10-17 14:35:33

目前在人工智慧領域、科學計算領域確實很少能看到Java的身影,雖然Java一直是近些年來被廣泛使用的程式語言,但是並不是所有的場景都適合使用Java。在人工智慧和科學計算領域之所以很難看到Java,原因有以下幾點:

第一:Java語言自身偏重。

Java語言自身偏重的語法特性雖然帶來了穩定的效能,但也是阻礙Java在科學計算領域使用的一個重要原因,因為對於科學計算的科研人員來說,程式語言越簡單越好,這就是為什麼Python、R等語言在科學計算領域被廣泛使用的原因。程式語言在科學計算中最常見的作用就是驗證,執行效率並不是第一考慮因素,第一因素是方便和實用。

第二:Java語言自身的支援不夠。

Java語言最大的支援在Web開發領域,大量的開源專案都是基於Web開發設計的,這就導致Java在Web開發領域越來越強,而在其他領域則沒有明顯的優勢,尤其在科學計算領域。而Python則在科學計算方面有大量的庫可以使用,而且非常方便,比如Numpy、Matplotlib、Scipy等庫,這些庫在科學計算領域有大量的使用。

第三:Java的使用者更注重實現。

大部分Java程式設計師的主要任務都是功能研發,做科學計算並不是Java最主要的任務和應用場景,這就導致Java在科學計算領域無法形成一個生態圈。

為什麼有人說Java缺乏科學計算、機器學習等生態圈?

為什麼有人說Java缺乏科學計算、機器學習等生態圈?

我在早期做機器學習專案的時候就是採用Java來完成演算法實現的,因為我對Java比較熟悉,後來使用Python做演算法實現之後,我再也不願意使用Java做演算法實現了,因為Python確實很方便。

隨著Java的發展,未來Java是否能在科學計算和機器學習領域打造一個自己的生態圈還有待觀察,但是到目前為止,Java的主要應用場景還不是以科學計算為主。

大資料和人工智慧是我的主要研究方向,目前我也在帶相關方向的研究生,我會陸續在頭條上寫一些關於大資料方面的文章,感興趣的朋友可以關注我的頭條號,相信一定會有所收穫。

如果有大資料方面的問題,也可以諮詢我。

謝謝!