导读 在做数据分析项目和规划职业生涯的时候,该选择哪一种编程语言?不同职业背景的人的答案都不尽相同。下面是indeed.com对人们在机器学习以及数据科学方面选择的编程语言的分析数据。 当人们想找一个机器学习和数据分析方向的工作时,应该学哪一种编程语言?这是一个备受争议的问题,在许多论坛吵得热火朝天。我虽然自己心中已有答案,但是最好还是先看一些数据。毕竟,研究数据而非观点才是机器学习和数据科学工作者们该做的。 我使用的是indeed.com提供的趋势搜索工具。它会展示在工作机会中指定术语的出现频率,它体现了雇主们在寻找的技能是什么。但需要注意的是,这个工具并非展示哪些技能最为实用,相比,它是一种衡量技能流行趋势的高级指标(更正式地说,它可能更像流行度的一阶导数,因为流行度就是入职时技能加上培训技能与退休和离职时技能的差额)。 让我们看一看数据。我搜索了在“机器学习”和“数据科学”两方面需要的技能,其中包括最流行的编程语言:Java,C语言,C 和JavaScript,我同样包括了在机器学习和数据科学领域非常流行的Python和R语言,以及Spark相关的Scala和前景明朗的Julia。运行查询之后,我们得到如下结果: 当我们只搜索“机器学习”领域的时候,我们得到的数据差异不大: 我们可以从这些数据中得出怎样的结论? 首先,没有万金油。 在这种情况下,受欢迎的语言数量相当多。 第二,所有编程语言的人气急剧增加,反映了在过去几年对机器学习和数据科学的兴趣也在迅猛增加。 第三,很明显,Python排名第一,其次是Java,然后是R,然后是C 。Python超越Java正在增加,而Java对于R的领先优势正在减少。实际上我看到Java排名第二还吃了一惊,我以为会是R。 第四,Scala的增长惊人。 它在3年前几乎是不存在的,现在已经在与一些更成熟的语言同场竞技。 当我们切换indeed.com上的数据的相对视图时,这个趋势更明显了: 第五,Julia的人气还不能与其他几个同日而语,但最近几个月肯定有显著增长。 Julia会成为机器学习和数据科学的流行语言之一吗? 让我们拭目以待。 如果我们忽略Scala和Julia,重点研究其他语言的增长趋势,那么我们可以发现Python和R的增长速度超过了整体。 鉴于目前的增长速度,R语言的流行度很快就会超过Java。 当我们在“深度学习”领域运行这个查询的时候,数据就会不一样了。 在这里,Python仍然是领导者,但C 现在是第二,然后是Java,C语言排在第四名, R语言只在第五排。显然,高性能计算语言备受青睐。Java正在快速增长,它可以很快到达第二名,机器学习一般。 R不会很快就在顶端。虽然Lua被用在主要的深度学习框架(Torch)中,它的排名却很低。 Julia也不在排行榜中。 那么最原来问题的答案现在就应该很清楚了。Python,Java和R是机器学习和数据科学工作中最流行的技能。如果你想专注于深度学习而不是一般的机器学习,那么C 以及一些低成都的C语言也值得考虑。但请记住,这只是看问题的方法之一。如果你在学术界寻找工作机会,或者你只是想在业余时间学习机器学习和数据科学,你可能会得到不同的答案。 我个人的看法是:除了许多来自顶级机器学习框架的支持,Python是很适合的,因为我有计算机科学的学术背景。因为我在大部分职业生涯中都使用C 语言,我也会使用C 开发新的算法。但这是我个人的情况,有不同背景的人可能感觉另一种语言更好。编程技能相对有限的统计学家肯定会喜欢R语言,一个强大的Java开发人员可以一直使用他钟爱的Java(毕竟有大量的开源Java API)。图上的任何语言都可以是任何人的最爱。 因此,我的建议是去其他博客逛逛,看看其他人对这个问题的看法,然后投入大量的时间去学习语言吧。 近期精彩活动(直接点击查看): |