Java地位不保?C卷土重来?三大榜单数据为你解读2020上半年语言大趋势

简介: 2020已经临近过半了,一些权威的编程语言数据统计网站,在每个月都会更新各大编程语言在全世界范围内的流行趋势。今天阿里妹为你整理了三大权威榜单在2020年上半年的编程语言排名情况,看看你pick的语言都有哪些有趣的变化吧

2020已经临近过半了,一些权威的编程语言数据统计网站,在每个月都会更新各大编程语言在全世界范围内的流行趋势。今天阿里妹为你整理了三大权威榜单在2020年上半年的编程语言排名情况,看看你pick的语言都有哪些有趣的变化吧!

一、RedMonk 2020上半年排行状况

RedMonk是半年更新一次的榜单,它基于某语言在GitHub上的项目数量。和在Stack Overflow的标签出现次数来统计,而这两个社区也是开源和技术讨论的权威数据源。

image.png

这是2020年的第一季度:

image.png

下面来看看RedMonk 2020年1月,2019年6月和1月的编程语言排行榜前20名:

image.png

在榜单中,各语言总体排名依然稳定,有趣的是,大部分名次紧挨着的语言都小小地调换了次序。
另外,2020年1月的榜单中出现了许多排名并列的现象。接下来具体看看一些值得关注的点:

1.2020年Python发展势头良好,排名较之前上升一位,甚至挤进前二,与Java并驾齐驱;
2.TypeScript 在去年 6 月份的榜单中进入前十,也成为五年来首度打破前十排名的语言。这次,TypeScript 上升至第九位,与 C 语言并列。可见,TypeScript 进入前十并非意外,它与 JavaScript 的组合可以说是成功的;
3.R语言令人惊喜,从此前的15位跃升至13位,与Scala并列;
4.Rust 目前的发展势头明显放缓,这次仍维持在21名。

二、TIOBE 2020上半年排行状况

TIOBE可能是开发者们最熟悉和最权威的编程语言排行榜之一了,它每个月都会更新,数据来源全面,能准确地反映各类语言的热门程度。

image.png

在2020年伊始,TIOBE官方为我们揭晓了“2019年度编程语言”的获得者,不少人认为 Python 会蝉联TIOBE 的年度编程语言,毕竟它的火热程度在近几年是有目共睹的,然而获此殊荣的是C 语言这位老将。
十分低调的 C 语言为何如此热门?TIOBE 认为这种趋势背后的主要驱动力是物联网(IoT)和当今发布的大量小型智能设备。当将 C 应用于对性能至关重要的小型设备时,它的表现会十分出色。另外,C 语言也比较容易学习,并且每个处理器都有一个 C 编译器。

以下是TIOBE 2020年上半年榜单TOP 20:

image.png
image.png

Top 10 编程语言 TIOBE 指数走势(2002-2020):

image.png

1月份排行中的亮点:
(1)Swift从第15名跃升至第9名,进入前十。
(2)Ruby从第18名上升到第11名,差点进入前十榜单,相信这一目标很快就会实现。

2月份排行中的亮点:
(1)2月份C语言的涨幅较大,达到了0.993%,1月刚刚拿下19年年度编程语言的大奖,真可谓是后劲十足。
(2)意料之中的是Java依然稳居第一,所以大家仍然可以把Java作为重点编程语言来储备掌握,随后分别是C、Python、C++、C#。

3月份排行中的亮点:
(1)C语言不愧是年度编程语言,3月以3.03%的年增长率继续大幅领先。年增长率较高的还有Java(2.90%)、C#(2.95%)和Python(1.85%)。
(2)整体上来看,排名前10的语言基本都稳定如常。本月冲出了Go 语言这匹黑马,一路挤进前十。去年同期,Go排在第18位,前两个月的榜单中,Go上升到第14位,然后持续爬升,终于在3月进入前十。
(3)3月最值得关注的语言是Delphi,比较令人意外:Delphi即将跌出TIOBE指数前20名。这大概是 Delphi最终没落的迹象。自2001年6月TIOBE指数存在以来,Delphi一直位居前20名,在2000年代初,它是最流行的语言和IDE之一。TIOBE认为,导致 Delphi没落的另一个主要原因是它的发行频率太低。原先每年都有一个主要版本,而2018年之后,Delphi却没有了什么新的动静。

4月份排行中的亮点:
(1)4月值得注意的是,C语言指数直逼Java,仅相差0.01%。
(2)Scratch进入了前20名,成为本月一大看点,这是一门少儿编程语言。许多人对于这门旨在教孩子如何编程的语言取得这样的成绩,感到无比惊讶,那是因为这些人没有注意到在Scratch中总共有超过5000万个项目被“写”出来,并且每个月都有100万个新的Scratch项目被添加进来,如果考虑这些,你就不会对Scratch挤进前20感到奇怪了。

5月份排行中的亮点:
(1)5月最大的亮点是 C 语言超越 Java,重返第一的位置。C 语言上一次排名第一,还是在 2015 年。那么是什么让 C 重新拿下第一的宝座呢?TIOBE CEO Paul Jansen 猜测是受冠状病毒的影响,“这听起来可能很愚蠢,但是某些编程语言确实可以从这种情况中受益。”
(2)数据科学语言 R 稳定在前十,MATLAB 从上个月的 18 位上升至本月的第 13 名,是前 20 名中月度排名上升最多的语言。
(3)4月份的榜单主角 Scratch 在5月继续上升一位,看来近期少儿编程的热度持续不减。
(4)近几个月比较令人担心的 Objective-C 排名仍在往下掉,本次在前 20 榜单中位次最末。

三、PYPL 2020上半年排行状况

Pypl编程语言排行榜是通过分析在谷歌上搜索语言教程的频率而创建的,搜索的语言教程越多就越受欢迎。

2020年5月编程语言排行榜:

image.png

排名前五的分别是:Python, Java, Javascript, C# 和 PHP,和上月相比,python(+4.3%)还是稳坐第一,并且大幅度领先于Java(-2.4%),前五名中除了 Python,其余的 Trend 指数都呈现出了下降趋势。
而近年来备受关注和欢迎的 Go、Kotlin、Rust、TypeScript 这些较为新兴的编程语言基本都保持着上升的热度,这也和我们所看到和了解到的情况吻合。

小结:
1.以上排行榜并不代表语言的好坏,开发者可以使用该榜单检查自身的编程技能是否需要更新,同时结合自己的实际情况选定自己的学习目标。
2.如果就后端语言来说,Java和Python一直是比较流行的语言。
3.一个合格的程序员是要会C语言的,不过真正必须用到C语言的领域主要是嵌入式开发和操作系统等偏底层的开发。
4.Python是过去五年来人气不断上升的唯一语言,如果你想在 2020 年只学习一门编程语言,并希望涵盖更广泛的APP开发领域,不妨考虑 Python。

相关文章
|
1月前
|
前端开发 JavaScript Java
java常用数据判空、比较和类型转换
本文介绍了Java开发中常见的数据处理技巧,包括数据判空、数据比较和类型转换。详细讲解了字符串、Integer、对象、List、Map、Set及数组的判空方法,推荐使用工具类如StringUtils、Objects等。同时,讨论了基本数据类型与引用数据类型的比较方法,以及自动类型转换和强制类型转换的规则。最后,提供了数值类型与字符串互相转换的具体示例。
|
2月前
|
监控 Java API
如何使用Java语言快速开发一套智慧工地系统
使用Java开发智慧工地系统,采用Spring Cloud微服务架构和前后端分离设计,结合MySQL、MongoDB数据库及RESTful API,集成人脸识别、视频监控、设备与环境监测等功能模块,运用Spark/Flink处理大数据,ECharts/AntV G2实现数据可视化,确保系统安全与性能,采用敏捷开发模式,提供详尽文档与用户培训,支持云部署与容器化管理,快速构建高效、灵活的智慧工地解决方案。
|
3天前
|
Oracle Java 关系型数据库
Java基础(一):语言概述
Java基础(一):语言概述
Java基础(一):语言概述
|
1天前
|
SQL Java 数据库连接
【潜意识Java】深入理解MyBatis的Mapper层,以及让数据访问更高效的详细分析
深入理解MyBatis的Mapper层,以及让数据访问更高效的详细分析
|
6天前
|
存储 分布式计算 Hadoop
基于Java的Hadoop文件处理系统:高效分布式数据解析与存储
本文介绍了如何借鉴Hadoop的设计思想,使用Java实现其核心功能MapReduce,解决海量数据处理问题。通过类比图书馆管理系统,详细解释了Hadoop的两大组件:HDFS(分布式文件系统)和MapReduce(分布式计算模型)。具体实现了单词统计任务,并扩展支持CSV和JSON格式的数据解析。为了提升性能,引入了Combiner减少中间数据传输,以及自定义Partitioner解决数据倾斜问题。最后总结了Hadoop在大数据处理中的重要性,鼓励Java开发者学习Hadoop以拓展技术边界。
31 7
|
12天前
|
存储 监控 算法
探秘局域网桌面监控:深入剖析 Java 语言核心算法
在数字化办公时代,局域网桌面监控如同企业的“智慧鹰眼”,确保工作效率与数据安全。本文以Java为载体,揭示哈希表在监控中的关键应用。通过高效的数据结构和算法,哈希表能快速索引设备连接信息,大幅提升监控的时效性和响应速度。代码示例展示了如何用Java实现设备网络连接监控,结合未来技术如AI、大数据,展望更智能的监控体系,助力企业在数字化浪潮中稳健前行。
|
19天前
|
存储 Java BI
java怎么统计每个项目下的每个类别的数据
通过本文,我们详细介绍了如何在Java中统计每个项目下的每个类别的数据,包括数据模型设计、数据存储和统计方法。通过定义 `Category`和 `Project`类,并使用 `ProjectManager`类进行管理,可以轻松实现项目和类别的数据统计。希望本文能够帮助您理解和实现类似的统计需求。
68 17
|
2月前
|
JSON Java 程序员
Java|如何用一个统一结构接收成员名称不固定的数据
本文介绍了一种 Java 中如何用一个统一结构接收成员名称不固定的数据的方法。
40 3
|
2月前
|
Java 程序员 容器
Java中的变量和常量:数据的‘小盒子’和‘铁盒子’有啥不一样?
在Java中,变量是一个可以随时改变的数据容器,类似于一个可以反复打开的小盒子。定义变量时需指定数据类型和名称。例如:`int age = 25;` 表示定义一个整数类型的变量 `age`,初始值为25。 常量则是不可改变的数据容器,类似于一个锁死的铁盒子,定义时使用 `final` 关键字。例如:`final int MAX_SPEED = 120;` 表示定义一个名为 `MAX_SPEED` 的常量,值为120,且不能修改。 变量和常量的主要区别在于变量的数据可以随时修改,而常量的数据一旦确定就不能改变。常量主要用于防止意外修改、提高代码可读性和便于维护。
|
2月前
|
存储 缓存 安全
在 Java 编程中,创建临时文件用于存储临时数据或进行临时操作非常常见
在 Java 编程中,创建临时文件用于存储临时数据或进行临时操作非常常见。本文介绍了使用 `File.createTempFile` 方法和自定义创建临时文件的两种方式,详细探讨了它们的使用场景和注意事项,包括数据缓存、文件上传下载和日志记录等。强调了清理临时文件、确保文件名唯一性和合理设置文件权限的重要性。
223 2