编程语言榜单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.lang.reflect.Type简介

    Java中的java.lang.reflect.Type简介

    在 Java 中,java.lang.reflect.Type 是一个接口,代表所有类型的通用超类型,它包括原始类型、参数化类型、数组类型、类型变量和基本类型,本文给大家讲解Java中的java.lang.reflect.Type是什么,需要的朋友可以参考下
    2024-06-06
  • SpringBoot Redis批量存取数据的操作

    SpringBoot Redis批量存取数据的操作

    这篇文章主要介绍了SpringBoot Redis批量存取数据的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • springMVC获取请求参数的几种方式汇总

    springMVC获取请求参数的几种方式汇总

    在日常使用SpringMVC进行开发的时候,有可能遇到前端各种类型的请求参数,这里做一次相对全面的总结,下面这篇文章主要给大家介绍了关于springMVC获取请求参数的几种方式,需要的朋友可以参考下
    2022-04-04
  • mybatis中 if-test 数字判断的坑及解决

    mybatis中 if-test 数字判断的坑及解决

    这篇文章主要介绍了mybatis中 if-test 数字判断的坑及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06
  • 利用Spring插件实现策略模式的案例详解

    利用Spring插件实现策略模式的案例详解

    Spring插件提供了一种更实用的插件开发方法,它提供了插件实现扩展核心系统功能的核心灵活性,但当然不提供核心OSGi功能,如动态类加载或运行时安装和部署插件,本文就来聊下如何使用spring插件来实现策略模式,需要的朋友可以参考下
    2023-05-05
  • lombok @Accessors用法详解

    lombok @Accessors用法详解

    这篇文章主要介绍了lombok @Accessors用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • 两天没解决的问题chatgpt用了5秒搞定隐藏bug

    两天没解决的问题chatgpt用了5秒搞定隐藏bug

    这篇文章主要为大家描述了我用了两天没解决的问题chatgpt用了5秒搞定的全程介绍,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • Java内存模型之happens-before概念详解

    Java内存模型之happens-before概念详解

    happens-before原则非常重要,它是判断数据是否存在竞争、线程是否安全的主要依据,依靠这个原则,我们解决在并发环境下两操作之间是否可能存在冲突的所有问题。下面我们就一个简单的例子稍微了解下happens-before知识,感兴趣的朋友一起看看吧
    2021-06-06
  • Hadoop 中 HBase Shell命令的详解

    Hadoop 中 HBase Shell命令的详解

    这篇文章主要介绍了Hadoop 中 HBase Shell命令的详解的相关资料,需要的朋友可以参考下
    2017-10-10
  • Java并发编程深入理解之Synchronized的使用及底层原理详解 上

    Java并发编程深入理解之Synchronized的使用及底层原理详解 上

    在并发编程中存在线程安全问题,主要原因有:1.存在共享数据 2.多线程共同操作共享数据。关键字synchronized可以保证在同一时刻,只有一个线程可以执行某个方法或某个代码块,同时synchronized可以保证一个线程的变化可见(可见性),即可以代替volatile
    2021-09-09

最新评论