编程语言榜单Java与Python并列第二!Julia下滑

 更新时间:2021年08月11日 17:39:16   作者:苏小宓  
日新月异的技术圈,随着云、大数据、人工智能等主流技术的广泛应用,作为开发利器的编程语言的最新发展趋势也在无形中发生了变化,本文主要介绍了java、Python、Julia等语言在Resmonk榜单的排名

近日,全球知名行业分析公司 RedMonk 发布了 Q3 的编程语言榜单,本排行榜基于 GitHub 和 Stack Overflow 两大社区中使用及讨论的编程语言热度进行排行,真实地反应了开发者对各大编程语言应用的现状,也希望透过此榜单能够为更多的从业者在工具的抉择层面带来一些借鉴。

RedMonk 编程语言排行榜 TOP 20

通过调查与分析,RedMonk 编程语言排行榜 TOP 20 如下:

在这里插入图片描述

  1. JavaScript
  2. Python
  3. Java
  4. PHP
  5. CSS
  6. C++
  7. C#
  8. TypeScript
  9. Ruby
  10. C
  11. Swift
  12. R
  13. Objective-c
  14. Shell
  15. Scala
  16. Go
  17. PowerShell
  18. Kotlin
  19. Rust
  20. Dart

 值得关注的变化

和上个季度的榜单相比,在本季度中,RedMonk 官方也总结出一些值得关注的重要变化:

Java

过去一段时间中,在 Python 迅猛的增速之下,Java 的脚步有所放缓,从原来的第二名下降到了第三位,就在很多从业者担心 Java 的使用率是否会进一步下降时,在本季度中,Java 重新回归,与 Python 并列榜单第二位。

不过,在编程语言层出不穷的发展趋势下,不少从业者似乎并不太看好 Java,甚至定期为企业基础设施的坚定者(Java)撰写墓志铭。但现实来看,Java 屹立不倒自然有其自身的发展优势,它曾作为用于数字电视机顶盒的一种主力编程语言,在不断变化的技术潮流中,仍然可以找到其能够胜任的地方。

这些年来,Java 在这些排名上的表现给人留下深刻印象,而且由于它表现出非凡的适应快速变化环境的能力,因此它是一种难以与之抗衡的语言。

TypeScript

TypeScript 在本季度的排名位居第八位,现在该语言面临最大的问题是其是否还能够持续增长甚至超越 C#、C++、PHP 等老牌编程语言?亦或是现在的排名已经到了它的极限?

对此,RedMonk 官方表示,现在一切说不准,但一年前这个时候,TypeScript 在排名所依据的综合得分中落后第 5 名语言 6 分,但这次差距只有两个点。当然,过去的表现也不总是能够代表其未来的发展。

Go/Kotlin/Rust

与 TypeScript 一样,Kotlin 和 Rust 在本次排名中都没有变化。一方面,这一现状可能会令该些语言的拥护者失望,但另一方面,它也反映了系统语言新出现的一些现实问题,即 Kotlin 和 Rust 的相对表现,以及 Go 的长期停滞不前会给我们带来一些思考。

多年来,Java 一直面临着强大挑战者的挑战,以争夺企业应用程序首选语言的称号。但是,正如上文所述,Java 并没有在被挑战的过程中受到一定的影响。事实上,与 Go、Kotlin 和 Rust 不同,Java 在排在第三位的两个季度之后,它的份额在此次成功增长。通过自身适应性和企业应用的习惯相结合,Java 仍在企业级应用程序市场中占有很大的份额,这也意味着 Go、Rust、Kotlin 这些挑战者能够带来的影响微乎其微,同时因为这些语言共享 JVM 平台,所以其与 Java 之间的竞争要远小于这些语言内部之间的竞争。

Dart

上个季度,RedMonk 在发布编程语言榜单时,曾分析了 Dart 正在逐渐上涨的原因:虽然其语法不如 Kotlin 简洁,但是随着 Flutter 框架的成熟发展,Dart 的未来可期。

如今经过了一个季度的时间,Dart 正如期待的那番,取代了 Perl 的位置成功进入榜单的 TOP 20。在实现这一小成就之后,现在的问题就是 Dart 能否持续保持着 TOP 20 的排名了。当前,排在其前面的 Kotlin 和 Rust 两门语言的受欢迎度要略胜 Dart 一筹,因此,Dart 能否在挑战中站稳自己的脚步,还得看接下来的表现。

Julia

不久前,Julia 所在的公司 Julia Computing 刚刚完成了 2400 万美元的 A 轮融资,这笔资金将被用于发展 Julia 生态系统,而 Julia 语言自设计之初也被寄予厚望,正如其开发团队所设想的那番,Julia 将集 Python、C、Ruby、R、Perl 等众多语言之所长:

我们想要一种拥有自由许可的开源语言,同时拥有 C 的速度和 Ruby 的灵活。我们想要一种同像性语言,有像 Lisp 这样真正的宏,也有像 Matlab 这样的浅显熟悉的数学符号。我们想要一门像 Python 一样可用于通用编程,像 R 一样易于统计,像 Perl 一样自然地用于字符串处理,像 Matlab 一样强大的线性代数,像 shell 一样擅长将程序粘合在一起的语言。它简单易学,却能让严苛的黑客为之倾心。我们希望它是交互式的,具备可编译性。

不过,通过调查数据显示,Julia 在竞争愈发激烈的技术圈中,排名有所下滑,一年前 Julia 徘徊于 TOP 20 的边缘位置,位于第 24 位,但在本季度中它跌至第 28 位。值得注意的是,排名越低,语言之间的绝对差异变得越小,但是对于一种语言而言,这样的负面表现并不令人鼓舞。

对此,RedMonk 深入分析 Julia 语言下滑的原因时发现,在 Julia 发展过程中,由于其非常注重分析等功能的构建,Julia 经常被开发者列入与 Python、R 等常用统计分析工具的竞争中,其中 Python、R 语言早已在各种实践中证明了自己的受欢迎度与可持续性,此时,新兴 Julia 语言的加入就有些黯然失色了。在此,也希望获得新一轮融资的 Julia 在未来会有亮眼的特性出现。

完整的榜单:

在这里插入图片描述

图 RedMonk Q3 编程语言排行榜

到此这篇关于编程语言榜单Java与Python并列第二!Julia下滑的文章就介绍到这了,更多相关java与Python编程语言榜单排名内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java 轻松实现二维数组与稀疏数组互转

    Java 轻松实现二维数组与稀疏数组互转

    在某些应用场景中需要大量的二维数组来进行数据存储,但是二维数组中却有着大量的无用的位置占据着内存空间,稀疏数组就是为了优化二维数组,节省内存空间
    2022-04-04
  • Java Mybatis框架由浅入深全解析下篇

    Java Mybatis框架由浅入深全解析下篇

    MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注SQL本身,而不需要花费精力去处理例如注册驱动、创建connection、创建statement、手动设置参数、结果集检索等jdbc繁杂的过程代码,本文将作为最终篇为大家介绍MyBatis的使用
    2022-07-07
  • spring WebSocket示例详解

    spring WebSocket示例详解

    websocket是Html5新增加特性之一,目的是浏览器与服务端建立全双工的通信方式,本篇文章主要介绍了spring WebSocket示例详解 ,有兴趣的可以了解一下。
    2017-01-01
  • 使用Easyexcel实现不同场景的数据导出功能

    使用Easyexcel实现不同场景的数据导出功能

    这篇文章主要为大家详细介绍了如何在不同场景下使用Easyexcel实现数据导出功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-03-03
  • Java Spring读取和存储详细操作

    Java Spring读取和存储详细操作

    这篇文章主要介绍了Spring读取和存储详细操作,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-08-08
  • Mybatis使用useGeneratedKeys获取自增主键的方法

    Mybatis使用useGeneratedKeys获取自增主键的方法

    这篇文章主要给大家介绍了关于Mybatis使用useGeneratedKeys获取自增主键的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Mybatis具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-09-09
  • Java数据结构专题解析之栈和队列的实现

    Java数据结构专题解析之栈和队列的实现

    从数据结构的定义看,栈和队列也是一种线性表。其不同之处在于栈和队列的相关运算具有特殊性,只是线性表相关运算的一个子集。更准确的说,一般线性表的插入、删除运算不受限制,而栈和队列上的插入删除运算均受某种特殊限制。因此,栈和队列也称作操作受限的线性表
    2021-10-10
  • Spring深入探索AOP切面编程

    Spring深入探索AOP切面编程

    Spring是一个广泛应用的框架,SpringAOP则是Spring提供的一个标准易用的aop框架,依托Spring的IOC容器,提供了极强的AOP扩展增强能力,对项目开发提供了极大地便利
    2022-07-07
  • Java +Tomcat + SpringMVC实现页面访问示例解析

    Java +Tomcat + SpringMVC实现页面访问示例解析

    这篇文章主要介绍了Java +Tomcat + SpringMVC实现页面访问示例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • 浅谈java中的局部变量和全局变量

    浅谈java中的局部变量和全局变量

    这篇文章主要涉及了java中的局部变量和全局变量,就二者的含义、生存时间和创建位置作了介绍,需要的朋友可以参考下。
    2017-09-09

最新评论