公司更需要会哪种语言的工程师?IEEE Spectrum榜单发布
IEEE Spectrum 杂志发布了一年一度的编程语言排行榜,这也是他们发布的第四届编程语言 Top 榜。
据介绍,IEEE Spectrum 的排序是来自 10 个重要线上数据源的综合,例如 Stack Overflow、Twitter、Reddit、IEEE Xplore、GitHub、CareerBuilder 等,对 48 种语言进行排行。
与其他排行榜不同的是,IEEE Spectrum 可以让读者自己选择参数组合时的权重,得到不同的排序结果。考虑到典型的 Spectrum 读者需求,他们提供了几个预设的权重 —— 如新兴的语言、雇主需求的语言、开源的热门语言等。大家可以定义自己的排行榜:http://spectrum.ieee.org/static/interactive-the-top-programming-languages-2017
读者可以自行调整权重
跟据 Spectrum 读者的需求,IEEE Spectrum 给出的编程语言排行榜如下:
Python 的排名从去年开始就借助人工智能持续上升,现在它已经成为了第一名。但排在前四名的语言 Python、C、Java 和 C++都拥有广大的用户群体,并且他们的用户总量也十分相近。实际上,Diakopoulos 在对公司招聘所要求的基本语言分析中,C 语言的需求甚至还要在 Python 之前。
C# 已经重新进入前五名,它重新夺回了去年被 R 语言抢夺的位置。Ruby 已经下跌到 12 位,因此苹果的 Swift 才有机会和谷歌的 Go 语言一同进入前十大语言。这一点十分令人惊奇,因为 Swift 语言早两年才首次登入该排行榜,当然它是在前十以外的,相对于 Swift 的上升,苹果的 Objective-C 跌到了第 26 名。
然而今年是第二年没有新语言进入排名,我们似乎已经开始进入巩固代码的阶段,开发者同样需要时间消化那些为云服务、移动端和大数据应用等创造的新工具。
而谈到稳定的编程语言,Fortran 仍然出现在排名的中间位置(第 28 位),Lisp 和 Cobol 分别仍然保持在第 35 位和第 40 位。这说明即使有些语言已经非常古老,但它们仍然维持一个稳定的用户群体。
如果我们从语言用户增速来看,Python 仍然是最快的。接下来就是 C、C++和 Java,但我们看到 Swift 增速排到了第五名。Swift 是苹果发布的最新语言,它可以开发 iOS 和 OS X 软件。该语言和已存在 Objective-C 代码相匹配,并且近年来也已经开源来吸引开发者。
开源语言的排行榜
如下我们可以看到 HTML 排名从第 11 上升到第 8 已经进入和前10大开源语言,因此这里我们再一次反对「HTML 只是一种标记语言,它不是编程语言」这一言论。因为 HTML 是开发者用于给计算机指令而完成一些任务的语言,所以我们还是将 HTML 作为一种编程语言。并且当 HTML 和 CSS 结合时,它们可以完成非常复杂的任务,所以我们有必要将它纳入其中。
用人单位更需要什么语言的工程师?
在下图中,我们可以看到 Java 和 C 是招聘上最受欢迎语言,它们甚至都超过了 Python。这可能是因为 Java 能应用于多平台,并且在企业级网页应用和移动端应用开发中占据了极其重要的地位,同时各种互联网公司的产品都需要使用 Java 来实现。
下面的排名是按照设计自由度排列的,我们可以对这些语言进行定制化的程度越高,排名越靠前。
▼ 直接点击,测试开发社区
▼ 直接点击,查看每日趣闻
每日更新,更多好看
公司更需要会哪种语言的工程师?IEEE Spectrum榜单发布的更多相关文章
- 2017年度最具商业价值人工智能公司TOP50 榜单发布
2017年度最具商业价值人工智能公司TOP50 榜单发布 未来最有赚钱潜力的50个人工智能项目都在这里了. 经过了60年的发展,人工智能在2017年,正式走向应用的元年. 从今年起,人工智能首次被写入 ...
- 2017中国人工智能公司榜单发布,颠覆AT的AI独角兽全在这
每年12月,创业邦研究中心评选并报道“中国创新成长企业100强”,这个榜单我们已经连续做了8年,是中国最有潜力的创业新贵榜,受到了业内广泛认可.从2015年开始我们发现,人工智能上榜企业明显增多,20 ...
- 让你的app体验更丝滑的11种方法!冲击手机应用榜单Top3指日可待
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由WeTest质量开放平台团队发表于云+社区专栏 一款app除了要有令人惊叹的功能和令人发指交互之外,在性能上也应该追求丝滑的要求,这样 ...
- TypeScript和JavaScript哪种语言更先进
TypeScript和JavaScript哪种语言更先进 近两年来最火爆的技术栈毫无争议的是JavaScript,随着ES6的普及,不管是从前端的浏览器来看,还是后端的NodeJS场景,JavaScr ...
- 尽管以C++为基础,但 Java 是一种更纯粹的面向对象程序设计语言
“尽管以C++为基础,但 Java 是一种更纯粹的面向对象程序设计语言”. 无论C++还是Java 都属于杂合语言.但在 Java 中,设计者觉得这种杂合并不象在 C++里那么重要.杂合语言 允许采用 ...
- 机器学习的5种语言(选自info world)
摘要:机器学习目前炙手可热,本文搜集了Java.Python以及go等编程语言中常见且实用的开源机器学习工具,对机器学习感兴趣的开发者或者准备和机器学习打交道的数据科学家们不能错过了 [编者按] 机器 ...
- [转自老马的文章]用MODI OCR 21种语言
作者:马健邮箱:stronghorse_mj@hotmail.com发布:2007.12.08更新:2012.07.09按照<MODI中的OCR模块>一文相关内容进行修订2012.07.0 ...
- 用MODI OCR 21种语言
作者:马健邮箱:stronghorse_mj@hotmail.com发布:2007.12.08更新:2012.07.09按照<MODI中的OCR模块>一文相关内容进行修订2012.07.0 ...
- 30个深度学习库:按Python、C++、Java、JavaScript、R等10种语言分类
30个深度学习库:按Python.C++.Java.JavaScript.R等10种语言分类 包括 Python.C++.Java.JavaScript.R.Haskell等在内的一系列编程语言的深度 ...
随机推荐
- 常用的模型集成方法介绍:bagging、boosting 、stacking
本文介绍了集成学习的各种概念,并给出了一些必要的关键信息,以便读者能很好地理解和使用相关方法,并且能够在有需要的时候设计出合适的解决方案. 本文将讨论一些众所周知的概念,如自助法.自助聚合(baggi ...
- Django框架的安装与使用
Django框架的安装与使用 在使用Django框架开发web应用程序时,开发阶段同样依赖wsgiref模块来实现Server的功能,我们使用Django框架是为了快速地开发application, ...
- 使用迅为itop4418开发板创建Android模拟器
基于迅为iTOP-4418开发部在 Eclipse 中,单击“Windows”菜单,选择“Android Virtual Device Manager”启动 模拟器管理插件.然后如下图,单击“Crea ...
- 2.windows-oracle实战第二课 -用户管理
创建用户:在oracle中创建一个用户有create user语句,一般是具有dba(数据库管理员)的权限才能使用.用户创建在所在的实例数据库中. 给用户修改密码:passw 给别人修改密码需要dba ...
- opencv---颜色空间转化并实现物体跟踪
一.图像处理的基本操作 因为这是第一篇写opencv的笔记,故先讲讲在python下写opencv的基本操作.总共总结了三点如下: 开头一定要加编码声明:-*- coding: utf-8 -*- p ...
- tessereact的链接收藏
http://www.sohu.com/a/323153211_823210 https://www.cnblogs.com/tongye/p/10734342.html https://github ...
- [HDU多校]Ridiculous Netizens
[HDU多校]Ridiculous Netizens 点分治 分成两个部分:对某一点P,连通块经过P或不经过P. 经过P采用树形依赖背包 不经过P的部分递归计算 树型依赖背包 v点必须由其父亲u点转移 ...
- mybatis <where>标签别勿用,否则线上清表
公司线上发送了清表现象,排除发现: <delete id="scMxdxxxb"> DELETE TABLE <where> <foreach col ...
- Python数据分析与展示第3周学习笔记(北京理工大学 嵩天等)
入门学习马上结束辽. 1.Pandas库 import pandas as pd 两个数据类型:Series,DataFrame Series类型:数据+索引 自定义索引 b = pd.Series( ...
- 新年在家学java之基础篇--循环&数组
因为“野味肺炎”的肆虐,过年被迫宅家只能吃了睡.睡了吃.这么下次只能长膘脑子空空,不如趁此机会重新学习java基础,为日后做铺垫~ 循环结构: 几种循环:for(::),while(){},do{}w ...