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榜单发布的更多相关文章

  1. 2017年度最具商业价值人工智能公司TOP50 榜单发布

    2017年度最具商业价值人工智能公司TOP50 榜单发布 未来最有赚钱潜力的50个人工智能项目都在这里了. 经过了60年的发展,人工智能在2017年,正式走向应用的元年. 从今年起,人工智能首次被写入 ...

  2. 2017中国人工智能公司榜单发布,颠覆AT的AI独角兽全在这

    每年12月,创业邦研究中心评选并报道“中国创新成长企业100强”,这个榜单我们已经连续做了8年,是中国最有潜力的创业新贵榜,受到了业内广泛认可.从2015年开始我们发现,人工智能上榜企业明显增多,20 ...

  3. 让你的app体验更丝滑的11种方法!冲击手机应用榜单Top3指日可待

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由WeTest质量开放平台团队发表于云+社区专栏 一款app除了要有令人惊叹的功能和令人发指交互之外,在性能上也应该追求丝滑的要求,这样 ...

  4. TypeScript和JavaScript哪种语言更先进

    TypeScript和JavaScript哪种语言更先进 近两年来最火爆的技术栈毫无争议的是JavaScript,随着ES6的普及,不管是从前端的浏览器来看,还是后端的NodeJS场景,JavaScr ...

  5. 尽管以C++为基础,但 Java 是一种更纯粹的面向对象程序设计语言

    “尽管以C++为基础,但 Java 是一种更纯粹的面向对象程序设计语言”. 无论C++还是Java 都属于杂合语言.但在 Java 中,设计者觉得这种杂合并不象在 C++里那么重要.杂合语言 允许采用 ...

  6. 机器学习的5种语言(选自info world)

    摘要:机器学习目前炙手可热,本文搜集了Java.Python以及go等编程语言中常见且实用的开源机器学习工具,对机器学习感兴趣的开发者或者准备和机器学习打交道的数据科学家们不能错过了 [编者按] 机器 ...

  7. [转自老马的文章]用MODI OCR 21种语言

    作者:马健邮箱:stronghorse_mj@hotmail.com发布:2007.12.08更新:2012.07.09按照<MODI中的OCR模块>一文相关内容进行修订2012.07.0 ...

  8. 用MODI OCR 21种语言

    作者:马健邮箱:stronghorse_mj@hotmail.com发布:2007.12.08更新:2012.07.09按照<MODI中的OCR模块>一文相关内容进行修订2012.07.0 ...

  9. 30个深度学习库:按Python、C++、Java、JavaScript、R等10种语言分类

    30个深度学习库:按Python.C++.Java.JavaScript.R等10种语言分类 包括 Python.C++.Java.JavaScript.R.Haskell等在内的一系列编程语言的深度 ...

随机推荐

  1. 长沙中考2019数学T25讲解

    好久没更Blog了... 为了应付完成寒假作业,还是更一下(再不更都庚子年了) Upd:2020.1.22 题目 第一问 还是比较水友好的 给顶点就相当于多给了对称轴-\(\frac{b}{2a}\) ...

  2. android仿网易云音乐引导页、仿书旗小说Flutter版、ViewPager切换、爆炸菜单、风扇叶片效果等源码

    Android精选源码 复现网易云音乐引导页效果 高仿书旗小说 Flutter版,支持iOS.Android Android Srt和Ass字幕解析器 Material Design ViewPage ...

  3. 四十三、LAMP与LNMP web架构深度优化实战-第二部

    1. 配置nginx gzip压缩功能    服务器对发出的内容进行压缩,带宽少了,体验好,速度快,但是服务端压,会使cpu使用高,压缩比高的进行压缩:文本.程序文件.数据文件.图片视频不要压缩,一般 ...

  4. 18)PHP,可变函数,匿名函数 变量的作用域

    (1)可变函数: 可变函数,就是函数名“可变”——其实跟可变变量一样的道理. $str1 = “f1”;   //只是一个字符串,内容为”f1” $v1 = $str1(3, 4);   //形式上看 ...

  5. Codeforces Round #316 (Div. 2) D计算在一棵子树内某高度的节点

    题:https://codeforces.com/contest/570/problem/D 题意:给定一个以11为根的n个节点的树,每个点上有一个字母(a~z),每个点的深度定义为该节点到11号节点 ...

  6. gMIS吉密斯十年执念:Lower Costs较低成本Better Productivity较高效率

    Hello 2020! 元旦快乐!今起揭开21世纪20年代的篇章. 1. gMIS吉密斯十周年 2010-2020,十年转眼已成历史,gMIS吉密斯——通用管理信息系统(general Managem ...

  7. 【ccf- csp201412-2】z字形扫描

    //ccf-Z字形扫描 #include<iostream> #include<cmath> using namespace std; #define N 500 int ma ...

  8. mysql不常用查询

    --查看数据库版本 SELECT VERSION(); --查看字符编码与安装路径 SHOW VARIABLES LIKE '%char%';

  9. linux打开和关闭端口

    查看哪些端口被打开  netstat -anp 关闭端口号:iptables -A INPUT -p tcp -drop 8080 -j DROP 打开端口号:iptables -A INPUT -p ...

  10. 基于css完成网页的国际化

    css完成国际化 前提 在日常处理国际化的时候,通常是将key通过类似intl.xx(key)转换为对应环境的文案,可是如果需要在css中加入对应逻辑应该怎么做呢(比如在after的伪元素中显示不同的 ...