通过询问不同编程语言的“相对流行度”,而不是询问“什么是最好的语言?”或“您最喜欢的语言是什么?”,我希望这个问题能更客观一些。
我需要一种用于机器学习/矩阵运算的语言,它应该具备以下特点:
- 对开源友好(例如Matlab)
- 内循环执行速度快(例如Python, Matlab)
- 矩阵运算速度快(大多数语言都差不多,因为它们通常可以使用BLAS)
- 语法简洁易读(例如Java)
我目前选择了Java,因为它在各个方面都表现平庸,但没有任何一方面特别差,但我不禁觉得Java越来越过时,例如没有运算符重载,以及泛型的缺陷,所以我想知道不同编程语言在机器学习中的相对流行度如何?
我认为大多数人使用C++、Matlab和Python,但只是好奇是否有我遗漏的某种语言,大家都在忙着使用,而我还没有意识到?
回答:
当我和一个朋友一起进行机器学习项目时,我选择了R,它是开源的,专为矩阵数学设计,并且有广泛的库支持。它的语法比Java更简洁,我觉得语法很愉快,但这是一个主观的判断。
根据Rexer Analytics的数据,R是最受欢迎的数据挖掘工具,几乎有一半的调查 respondent都在使用它。
(关于R的信息很难搜索,所以他们有一个用于搜索R信息的Google前端。)