Loading [MathJax]/jax/output/CommonHTML/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.1K08
代码可运行
举报
文章被收录于专栏:AI科技评论AI科技评论
运行总次数:8
代码可运行

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

这是个许多人关心的问题,非常实际,也在许多论坛被翻来覆去地讨论过。非常显著的是 “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 删除。

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
再见虚拟机!聊聊 PC 端运行 Docker 的正确姿势!
在相当长的一段时间里,PC 端要使用 Linux 系统的方案都是:WMware/Oracle VM VirtualBox + Linux
AirPython
2021/05/07
1.2K0
WSL2安装Ubantu与Docker-desktop部署
WSL2(windows subsystem for linux 2)是微软推出的Windows上的Linux子系统,部署WSL2你将可以在windows上使用Linux系统,其使用体验无限接近与直接安装一台Linux系统。这里我部署WSL2主要是为了想在windows上使用docker。这里实现的过程大致是:
Tommonkey
2023/03/20
2.7K0
WSL2安装Ubantu与Docker-desktop部署
win10重新安装导出的WSL2镜像
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
impressionyang
2021/02/25
4.3K0
在Windows11上安装和使用WSL2
https://docs.microsoft.com/zh-cn/windows/wsl/
AiDBA宝典
2023/04/26
6.3K0
在Windows11上安装和使用WSL2
在 Windows 下使用 WSL2 搭建 Kubernetes 集群
本文我们将介绍如何在 Windows10 下使用 WSL2 和 KinD 来搭建一套 Kubernetes 集群。在过去几年,Kubernetes 已经成为了容器编排领域事实上的标准。虽然现在已经有各种各样的 Kubernetes 发行版本和安装程序来部署 Kubernetes 环境了,除了云环境或者裸机环境下面之外,我们仍然需要在本地部署和运行 Kubernetes 集群,特别是对于相关的开发人员。
我是阳明
2020/06/15
15.5K2
在 Windows 下使用 WSL2 搭建 Kubernetes 集群
Windows安装WSL2
Windows Subsystem for Linux(简称WSL)是一个在Windows 10上能够运行原生Linux二进制可执行文件(ELF格式)的兼容层。
fem178
2021/10/20
4.2K0
Windows安装WSL2
双系统系列:WSL2-适用于 Linux 的 Windows 子系统(安装)
关于系统的使用小编之前给大家了解过VMware和PVE虚拟机,它们也各有个各的好处,比如VMware方便快速上手,在自己本机上就可以使用,但需要耗费巨大的系统资源;而PVE则需要自己买一台小主机,但是它的性能和可操作性要比VMware好很多。
小Bob来啦
2022/01/17
3.4K0
双系统系列:WSL2-适用于 Linux 的 Windows 子系统(安装)
WSL2:我在原生的Win10玩转Linux系统
今天,我跟大家分享一个好玩的东西:WSL 2(Windows Subsystem for Linux 2)。WSL 2 很有意思,它是基于Hyper-V 功能的子集提供了“真正的 Linux 内核”。怎么理解这句话呢?大家设想,我们平时的研发办公环境需要Windows,而开发环境需要 Linux 系统,我们会怎么做?
用户2781897
2020/11/19
2.2K0
WSL2:我在原生的Win10玩转Linux系统
wsl2相关
3. sudo apt update && sudo apt upgrade -y
用户8126523
2023/08/27
3240
Windows启用WSL2并完成默认安装位置变更
启用虚拟机功能,安装 WSL 2 之前,必须启用“虚拟机平台”可选功能。 使用管理员权限运行cmd.exe或PowerShell,输入如下内容:
耕耘实录
2024/03/19
2.2K0
pinetwork节点教程_搭建ss教程
    2020年3月31日(太平洋时间)Node软件的测试版上线此,版本号0.015。写下这篇文章时,版本号已更新至0.3.8。     Pi节点的安装设置过程稍复杂,在此做个总结。
全栈程序员站长
2022/11/09
12.9K4
[1275]WSL的安装与使用
集成水平:WSL提供更深入的集成与主机操作系统Windows。例如,你可以在Windows的文件管理器中直接访问WSL文件系统,也可以在WSL中直接运行Windows的可执行文件。而虚拟机则创建了一个相对隔离的环境,虽然虚拟机可以访问主机文件系统,但需要特定的设置,并且整体上没有WSL那么直接和方便。
周小董
2024/04/07
5360
[1275]WSL的安装与使用
程序员福音!Win10下使用oh-my-zsh全攻略,让Win10开发更顺滑...
可以通过右键菜单, 以当前路径,进入完整的Linux环境,在zsh下进行任意Linux操作~
zhaoolee
2021/03/02
7.2K0
程序员福音!Win10下使用oh-my-zsh全攻略,让Win10开发更顺滑...
教程 | 如何在Windows 10上安装WSL 2
如果您想在最新的Windows版本中试用经过改进的WSL2(Windows Subsystem for Linux 2),请按照以下方法操作,我们在这篇文章中涵盖了安装它所需做的一切。
郭好奇同学
2021/03/25
6.9K0
教程 | 如何在Windows 10上安装WSL 2
WSL1 升级为 WSL2
WSL2 使用了 hyper-v 虚拟化技术,它就是一个你感知不到的虚拟机(VM),比以前的版本性能更高。举个栗子,我在WSL里面安装 nodejs, 采用源码编译方式安装,在 WSL1 下整整编译了100分钟,实在是太慢了。
晓晨
2020/11/05
2K0
WSL1 升级为 WSL2
还在安装双系统? 试试 Windows 和 Linux 合体
作为一个长期使用 Linux 作为主力系统的开发人员,我经常向周围的朋友安利 Linux ( Ubuntu )系统。但非常尴尬的是,大部分人都是浅尝辄止,最后还是会回到 Windows 系统,布道成功的并不多。毕竟习惯的力量非常强大,要从一个熟悉的系统转向陌生的系统,需要有足够的动力才行。一句“ Linux 系统上能够玩游戏吗?”就能让我哑口无言,还有诸如网课、办公、图像处理软件之类的问题。的确,Linux 系统在应用程序支持方面(特别是娱乐休闲类)一直是软肋。虽然经过这么多年的努力,但具有全平台支持(Windows、Linux、Mac OS等)的软件还是相当少,特别是国内的一些办公软件、网课客户端,通常只开发了 Windows 版本。
云水木石
2020/07/02
8.1K0
wsl2安装ROS
机器人操作系统 (ROS) 是编写机器人软件的灵活框架。讲ROS必须先说一下柳树车库公司(Willow Garage),斯科特.哈森在2006年创立。
工业技术网-zuodianshier.net
2022/05/22
1.2K0
wsl2安装ROS
【愚公系列】2022年01月 Docker容器 Windows11安装Docker Desktop
下载网址:https://docs.docker.com/desktop/windows/install/
愚公搬代码
2022/12/01
2.3K0
【愚公系列】2022年01月 Docker容器 Windows11安装Docker Desktop
Win2022基础配置实践指南
Tips: 单个 Linux 分发版可以在 WSL 1 或 WSL 2 体系结构中运行。 每个分发版可随时升级或降级,并且你可以并行运行 WSL 1 和 WSL 2 分发版。
全栈工程师修炼指南
2022/09/28
3.4K0
Win2022基础配置实践指南
【Linux运维】Windows上装Linux运行环境WSL2
WSL2是Windows Subsystem for Linux的第二个版本,它允许在Windows操作系统上运行本地Linux应用程序。相比于WSL1,WSL2采用了全新的虚拟化技术,使得Linux内核可以直接运行在一个轻量级的虚拟机中,从而提供更好的性能和更高的兼容性。
DevFrank
2024/07/24
6620
推荐阅读
相关推荐
再见虚拟机!聊聊 PC 端运行 Docker 的正确姿势!
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验