Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >开发丨Python、R、Java、 C++ 等:从业界反馈看机器学习语言趋势

开发丨Python、R、Java、 C++ 等:从业界反馈看机器学习语言趋势

作者头像
AI科技评论
发布于 2018-03-09 04:02:13
发布于 2018-03-09 04:02:13
1.1K0
举报
文章被收录于专栏:AI科技评论AI科技评论

对于开发者来说,掌握什么编程语言能更容易找到机器学习或者数据科学的工作?

这是个许多人关心的问题,非常实际,也在许多论坛被翻来覆去地讨论过。非常显著的是 “Python 是大趋势”这一论调,似乎它即将在机器学习领域一统天下。那么这种说法到底有几分事实?

首先要指出的是,大多数对编程语言的讨论都比较主观。比如说,有的开发者(尤其是初学者)会因为一门语言的某个特性很契合自己的使用习惯、用着最顺手,就狂赞这门语言,而对其他语言的优点选择性失明。而这篇雷锋网编译自 IBM 开发者论坛的文章,则尽量避免了主观判断,用数据来展示各门开发语言在工业界的实际使用情况,可以说是十分难得。毕竟,统计学习的核心就是用数据说话。AI 开发者应该更明白可靠数据相比主观臆测的价值。

闲话少说,我们来看看 2016 年开发语言使用情况统计,到底哪门语言的使用人数上升最快?居前几位的都是哪些?

图1:机器学习与数据科学领域各语言的雇主招聘指数对比

如图所示,这是利用美国职位搜索引擎 indeed.com 得出的机器学习、数据科学招聘趋势:对这些领域内开发职位所列出的编程语言要求进行了统计。它展示出公司、雇主们都在寻找哪些语言技能。但注意:

  • 这并不能精确体现各公司开发人员正在使用哪些语言。
  • 这是美国的机器学习业界趋势,与中国、学界关系不是那么紧密。
  • 没有包涵在搜索结果内的语言,不代表它们的招聘职位比上述语言要少。

我们可以清楚看出,美国雇主最需要的前四大语言排名是 Python,Java,R,C++。其中,Python 在 2015 年中超过 Java 跃升至第一。

然后,把搜索结果限制在机器学习领域(去掉数据科学),数据其实差不多:

图2:机器学习领域各语言的雇主招聘指数对比

这张折线图中包含了 Lua,但由于它的招聘职位实在太少,代表 Lua 的线与坐标轴重合。

我们能从这两组数据中推断出什么?

  1. Python 是市场的领先者,作为最受欢迎的机器学习语言当之无愧。 另外,Python 与 Java 之间的差距正在被拉开。但是 Java 与 R 之间的差距正在被缩小。雷锋网获知,有业内人士对居第二位的语言是 Java 而不是 R 感到惊讶。通常,大家的主观感受是除了 Python,使用 R 语言开发机器学习应用最普遍。
  2. Python 并没有成为霸主。各主流语言的招聘需求都很多。对小众语言如 Lua 和 Julia ,目前业界的需求确实小些,但其他语言都占有了相当的比例。
  3. 进入 2016 年后,市场对所有语言的需求都大幅上涨。Python 并没有与其他语言拉开明显差距。这表现出,最近一年里业界对机器学习和数据科学整体的兴趣和重视。
  4. Scala 在 2014 年之后的增长十分惊人。2014 年之前,对它几乎没有招聘需求。但那年之后一直在稳定增长。2016 年,它赶上了 Javacript,达到主流语言阵营的水平。
  5. 作为一门口碑不错的新兴语言,Julia 的普及程度还很低。但在 2016 下半年有了巨幅增长。现在还看不出来它是否会成为主流语言。

关于 Scala 和 Julia 的增长趋势,在它们的增长率折线图中,我们可以很明显的看出来:

图3:Scala,Julia,Lua 在机器学习、数据科学领域的雇主招聘指数增长率

然后,当我们省略掉 Scala、Julia 和 Lua,统计主流语言的增长率,可以明白无误看出 Python 和 R 的增长速度远超其他主流语言:

图4:机器学习与数据科学领域,主流语言的雇主招聘增长率

R 的增长率始终高于 Python,位居第一,更是远超 Java。以此来看,在可预测的将来,R 不但不会消失,还会成为更受欢迎的主流机器学习语言。因此,说“Python 是未来大趋势”肯定是不对的。

但是,当我们聚焦于细分领域“深度学习,数据就变得很不一样:

图4:深度学习领域各语言的雇主招聘指数对比

在深度学习市场,对 Python 的招聘需求仍然最高。但前五大语言的排序变成了Python,C++,Java,C,R。这里有很明显的对高性能计算语言的侧重。 而且,Java 的增长速度惊人,它可能很快成为深度学习市场的第二位。在可预期的将来,R 还不会成为最受欢迎的深度学习语言。令人惊讶的是 Lua 的存在感之低。要知道,开源框架巨头之一的 Torch 便是基于 Lua,许多开发者因此会认为它在深度学习市场占有特殊地位。

对于文章开头提出的问题——雇主需要掌握什么语言的开发者,答案已经很明确了:

  • 在机器学习和数据科学市场,Python, Java, 和 R 的招聘需求最大;
  • 在深度学习领域, Python, Java, C++ 以及 C 更被公司欢迎。

但雷锋网的读者们请注意,这只是私营公司的招聘需求。学界研究人员的偏好会有很大出入。另外,自学 AI 的业余爱好者、暂时没打算在这行谋生的,也不需要对这些数据太过在意。

至于文章原作者的个人观点(雷锋网再次提醒:请注意是“个人”观点,仅给大家做参考),他本人较倾向 Python。原因有二:1. 基于 Python 的顶级机器学习框架选择较多。2. 作者来自计算机专业背景,Python 的逻辑更适合。相比之下,R 语言就更适合统计学、数学背景的开发者。在 Python 之外,作者更倾向于使用 C++,这是因为他用 C++ 写代码写了半辈子,已经习惯了。其他人、新人可能更适合学习其他语言。比如说,写代码功底不深的统计学背景开发者通常用 R 语言更顺手。经验丰富的 Java 开发者可以接着用 Java,尤其有那么多开源 Java API

归纳起来,还是程序猿的个人学习、开发经历,以及知识背景影响了他的语言偏好。很少有人能够涉猎所有主流语言,即便只掌握几门语言,也未必在每一门上的开发经验都够深。因此,老司机对新入门开发者的语言推荐都带有强烈主观色彩。即使拿这篇以陈述数据为主的文章来说,也有它的主观局限:Matlab/Octave 和 Lisp,这两门重头语言并没有包括在内。这大约是由于作者并没有充分接触这三门语言。而 AI 大牛吴恩达对新手的建议就是选择 Octave 或者 Matlab 起步。

对于新入门、正犹豫选择哪门语言的技术宅,关键还是在投入大量时间之前多听、多看、多了解;比较不同人的观点,选择最适合自己的。雷锋网与旗下 AI 科技评论频道常年更新针对新老开发者的技术文章,以及追踪 AI 界的重大新闻事件,感兴趣可关注公众号。

更多对机器学习编程语言的介绍请参考上期文章入门必读 机器学习六大开发语言

via ibm developer

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-01-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI科技评论 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
机器学习最受欢迎的语言:Python、Java 还是 R ?
【新智元导读】要想获得机器学习或数据科学的工作机会,什么编程语言是最应该学习的呢? 要想获得机器学习或数据科学的工作机会,什么编程语言是最应该学习的呢?这是一个一针见血的问题。许多论坛都有讨论过这个问题,我会在这篇文章提出我自己的答案,并解释原因,但让我们先看一些数据。毕竟,机器学习专家和数据科学家应该做的是:关注数据,而非观点。 那么,让我们来看一些数据。我将使用 indeed.com 上的趋势搜索,它能搜索招聘信息中特定词汇随着时间变化的出现频率。这能反映雇主正在寻找拥有什么技能的人才。需要注意的是,这
新智元
2018/03/26
1K0
机器学习最受欢迎的语言:Python、Java 还是 R ?
【机器学习】Python语言下的机器学习库
Python是最好的编程语言之一,在科学计算中用途广泛:计算机视觉、人工智能、数学、天文等。它同样适用于机器学习也是意料之中的事。 当然,它也有些缺点;其中一个是工具和库过于分散。如果你是拥有unix思维(unix-minded)的人,你会觉得每个工具只做一件事并且把它做好是非常方便的。但是你也需要知道不同库和工具的优缺点,这样在构建系统时才能做出合理的决策。工具本身不能改善系统或产品,但是使用正确的工具,我们可以工作得更高效,生产率更高。因此了解正确的工具,对你的工作领域是非常重要的。 这篇文章的目的就是
陆勤_数据人网
2018/02/26
8110
数据可视化告诉你机器学习和数据科学哪些语言最火
在做数据分析项目和规划职业生涯的时候,该选择哪一种编程语言?不同职业背景的人的答案都不尽相同。下面是indeed.com对人们在机器学习以及数据科学方面选择的编程语言的分析数据。
IT阅读排行榜
2018/08/16
5240
数据可视化告诉你机器学习和数据科学哪些语言最火
Python 大战 Java
开发者到底应该学习哪种编程语言才能获得机器学习或数据科学这类工作呢?这是一个非常重要的问题。我们在许多论坛上都有讨论过。现在,我可以提供我自己的答案并解释原因,但我们先看一些数据。毕竟,这是机器学习者和数据科学家应该做的事情:看数据,而不是看观点。
小灰
2022/07/05
2760
Python 大战 Java
盘点丨入门必读 机器学习六大开发语言
机器学习的初学者,普遍需要面对一个问题: 到底学习哪个编程语言? 答案可能会让你惊讶:对高手来说,这关系不大。只要你了解所选语言的机器学习库和工具,语言本身其实没那么重要。相当多的机器学习库支持多种编程语言。当然,取决于你在公司中的开发角色和你需要实现的任务,有些语言、库和工具会比其他的更高效。下面,我们来看看六大主流机器学习语言——R 语言、MATLAB、Python、Java 、C/C++ 和 Lisp。 R 语言 R 是一个专门设计来进行数据计算的语言工具。在大规模数据挖掘、可视化和报告的应用
AI科技评论
2018/03/09
1.1K0
盘点丨入门必读 机器学习六大开发语言
对于机器学习,到底该选择哪种编程语言?
开发者到底应该学习哪种编程语言才能获得机器学习或数据科学这类工作呢?这是一个非常重要的问题。我们在许多论坛上都讨论过这个问题。今天,我将给出我自己的答案并解释其中原因,但我们首先看一些数据。毕竟,这是机器学习者和数据科学家应该做的事情:看数据,而不是看观点。 让我们看一些数据。我将在Indeed.com上使用趋势搜索,它可以根据时间搜寻实际工作机会中特定的条款。这表明了雇主们正在寻找拥有该技能的人才。然而,请注意,这并不是一项有效使用技能的民意调查,这种指标更能体现技能的受欢迎程度。 话不多说,上数据。我搜
CSDN技术头条
2018/02/08
1.3K0
对于机器学习,到底该选择哪种编程语言?
数据科学大佬的简历上都有哪些技能?
如果你是一个数据科学的求职者,那么你一定想知道在你的简历上应该写些什么技能会有更大的概率接到面试。如果你想进入这个领域,你可能已经多次想要知道哪些技术可以成为一个有吸引力的候选人。
Python数据科学
2018/12/25
6600
数据科学大佬的简历上都有哪些技能?
从业必看!2017年Python这些重要的事件
2017年仿佛整个程序员圈都在焦虑学习python,为了帮助马哥小伙伴发现2018年Python的趋势,汤哥在马哥Python的万人学习社群做了个调研,盘点了一下2017年Python的重要事件,具体
小莹莹
2018/04/24
7770
从业必看!2017年Python这些重要的事件
5种方式将机器学习带到Java、Python以及Go等编程语言
【编者按】机器学习似乎在一夜之间从默默无闻的小卒变成万众瞩目的焦点,关于机器学习的开源工具也越来越多,但是目前的挑战是,如何让对机器学习感兴趣的开发者和准备使用它的数据科学家们真正使用上它们,本文搜集了几种语言中常见且实用的开源机器学习工具,非常值得关注,本文来自 InfoWorld。 以下为原文: 经过几十年作为一门专业学科的发展后,机器学习似乎一夜之间作为万众瞩目的商业工具出现在我们面前。目前面临的挑战是如何让其具备实效,尤其是对开发者和正准备使用它的数据科学家们。 为此,我们搜集了一些最常见的且实用的
用户1737318
2018/06/05
4950
机器学习和数据科学领域,最流行的语言是什么?
在开展数据分析项目或职业生涯规划时,应选哪一种编程语言?对此问题,不同职业背景的人给出的答案各不相同。让我们从数据角度来看看,人们在机器学习和数据科学方面所选的编程语言。 要想在机器学习或数据科学领域
陆勤_数据人网
2018/02/28
8650
机器学习和数据科学领域,最流行的语言是什么?
【干货】数据科学家的理想简历长啥样?手把手教你!
曾经有人争论过Python或R是否是数据科学的首选语言。显然,市场需求告诉我们Python现在是领导者。同样值得注意的是,R比SAS更少提及。因此,如果你正在考虑进入数据科学领域,请考虑将你的学习重点放在Python上。 SQL作为数据库的语言是数据科学家第二重要的语言。由于数据科学家职业的广泛性,其他语言也扮演着重要角色。
量化投资与机器学习微信公众号
2019/02/26
7320
【干货】数据科学和机器学习的工具使用情况分布
第18届年度KDnuggets软件投票又一次受到了分析、数据科学界和软件生产商的热情参与。与去年相似,约有2900人参与了此次投票。 最近几年,Python的使用增长率一直比R快,到今年,Python终于以微弱的优势超过了R的使用率 (52.6% Vs 52.1%)。然而最大的惊喜应该是深度学习工具的广泛共享和使用。 深度学习工具使用率 2017年深度学习有32%的使用率,而在2016年只有18%,2015年9%。谷歌Tensorflow迅速成为深度学习平台的领头者,以20.2%的使用率领先于其他平台。
钱塘数据
2018/03/06
7400
【干货】数据科学和机器学习的工具使用情况分布
美联储加持的小众语言 Julia ,能否成为机器学习的明日之星?
早在 2009 年,Jeff Bezanson、Alan Edelman、Stefan Karpinski 和 Viral Shah 四个人聚到一起决心创造一种全新的编程语言。新语言要快速、有表达力,结合 C 语言、Matlab、Java、Ruby、Python、Perl 和 R 各自的优势,并能直接与 R、Matlab、Python 等最受欢迎的机器学习语言,以及其他动态工具展开竞争。听起来这思路很直接、很简单,是吧?这想法的背后有着几名创始人对开发者“痛点”的长期切身体会:工程师们为了在数据分析中获得速
AI研习社
2018/03/28
1.2K0
美联储加持的小众语言 Julia ,能否成为机器学习的明日之星?
【机器学习工具榜单】Tensorflow最多使用,Python 取代 R 成最受欢迎编程语言
新智元报道 来源:kdnuggets 编译:肖琴 【新智元导读】近日,KDnuggets网站公布了2018年度的数据科学和机器学习工具调查结果。2300多名参与者对自己“过去 12 个月内在项目开
新智元
2018/06/22
5620
数据科学中的 R、Python 和 Julia —— 机器学习的学习随想 02
1. 我认为 R,Python 和 Julia 是机器学习和数据科学中三个最重要的语言。任何人如果想在这个领域有所发展,长远来说这三种语言都需要掌握。 2. 我自己学习数据科学的主要语言当然是 Python,不光是因为用 Python 的人多,也因为我自己比较熟悉这种语言。早在2001年的时候,我就在一家小书店里买到了一本叫做 Learning Python 的书,当时应该是第二版,讲的还是 1.x 的 Python。从那时候起,我断断续续对语言本身下过一些功夫,也在好几件事情里用了 Python,现在回
AI科技大本营
2018/04/26
1.7K0
数据科学中的 R、Python 和 Julia —— 机器学习的学习随想 02
机器学习编程语言之争,Python夺魁
来自InfoQ 随着科技的发展,拥有高容量、高速度和多样性的大数据已经成为当今时代的主题词。数据科学领域中所采用的机器学习编程语言大相径庭。究竟哪种语言最适合机器学习成为争论不休的话题。近日,密西根州立大学的博士生Sebastian Raschka再次发起了机器学习编程语言之争,分析了自己选择Python的原因。 目前,机器学习牵涉的编程语言十分多样,包括了MATLAB、Julia、R、Perl、Python、Ruby等等。首先,Raschka定义了语言好坏的原则:一门好的语言应该使得编写、调试和执行代码的
CDA数据分析师
2018/02/05
6470
机器学习编程语言之争,Python夺魁
2018年数据科学语言&工具排名,Python完胜R语言
近日,著名数据科学网站 KDnuggets 发布了 2018 年数据科学和机器学习工具调查结果。超过 2000 人对自己「过去 12 个月内在项目开发中使用过的数据挖掘/机器学习工具和编程语言」进行了投票。
用户6543014
2019/10/25
5510
2018年数据科学语言&工具排名,Python完胜R语言
人工智能和机器学习的前世今生
如果正确的利用模式识别进行商业预测和决策,那么会为企业带来巨大的利益。机器学习(ML)研究这些模式,并将人类决策过程编码成算法。这些算法可以被应用到几个实例以得出有意义的结论。在这篇文章中,我们将了解一些机器学习的基础、工作原理及特点。
用户3578099
2019/08/16
5170
业界 | 摩根大通报告12个亮点总结:金融领域的机器学习工具有哪些?
选自eFinancialCareers 作者:Sarah Butcher 机器之心编译 参与:李泽南、吴攀 金融机构由于面临激烈的竞争压力,需要不断对自身结构和人才资源进行迭代,以适应不断变化的新情况。随着微软前首席科学家邓力宣布加盟对冲基金巨头 Citadel,我们可以看到金融界已经向计算机科学(特别是机器学习)人才打开了大门。近日,摩根大通发布了一份题为《大数据与人工智能战略:机器学习和其它投资数据分析方法(Big Data and AI Strategies: Machine Learning an
机器之心
2018/05/07
1.3K0
业界 | 摩根大通报告12个亮点总结:金融领域的机器学习工具有哪些?
业界 | 数据科学家最需要什么技能?
数据科学家需要涉猎很多——机器学习、计算机科学、统计学、数学、数据可视化、通信和深度学习。这些领域中有几十种语言、框架和技术可供数据科学家学习。那么要想成为雇主需要的数据科学家,他们应该如何安排学习内容呢?
机器之心
2018/11/23
5310
推荐阅读
相关推荐
机器学习最受欢迎的语言:Python、Java 还是 R ?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档