2023年震撼!Java地位摇摇欲坠?Java在TIOBE排行榜滑坡至历史最低!

本文主要是介绍2023年震撼!Java地位摇摇欲坠?Java在TIOBE排行榜滑坡至历史最低!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、Java掉到历史最低

从2023年6月开始Java掉到历史最低排到第4位

2023年10月tiobe编程语言排行榜,Java仍然还是排到了第4位,C# 和 Java 之间的差距从未如此之小。

top 10 编程语言1988年~2023年历史排名

引用tiobe官网上TIOBE Software 首席执行官的话:

10 月头条:C# 越来越接近 Java

C# 和 Java 之间的差距从未如此之小。目前,差距仅为 1.2%,如果保持这种趋势,C# 将在大约 2 个月的时间内超越 Java。在所有编程语言中,Java 的跌幅最大,为 -3.92%,C# 的涨幅最大,为 +3.29%(每年)。这两种语言一直在相似的领域中使用,因此二十多年来一直是竞争对手。Java 受欢迎程度下降的主要原因是 Oracle 在 Java 8 之后决定引入付费许可模式。微软在 C# 上采取了相反的做法。过去,C#只能作为商业工具Visual Studio的一部分。如今,C# 是免费且开源的,受到许多开发人员的欢迎。Java 的衰落还有其他原因。首先,Java 语言的定义在过去几年中没有发生太大变化,而其完全兼容的直接竞争对手 Kotlin 更易于使用且免费。——TIOBE Software 首席执行官 Paul Jansen

二、编程语言排行榜

编程语言排行榜是一种用来衡量编程语言的流行度或受欢迎程度的指标,它通常会根据一些数据或标准来对编程语言进行排序和评价。不同的编程语言排行榜可能会有不同的数据来源、计算方法和评估标准,因此它们的结果也可能会有所差异。

目前,最知名和权威的编程语言排行榜之一是 TIOBE 编程社区指数,它由成立于 2000 年 10 月位于荷兰埃因霍温的 TIOBE Software BV 公司创建和维护。TIOBE 编程社区指数通过对网络搜索引擎中涉及编程语言的查询结果数量进行计算,来衡量各种编程语言的受欢迎程度。TIOBE 编程社区指数每个月都会更新一次,并且每年还会评选出一门年度编程语言,表示该门语言在当年的排名中上升幅度最大。除了 TIOBE 编程社区指数之外,还有一些其他的编程语言排行榜,以下是列举的一些编程语言排行榜。

1、TIOBE编程语言排行榜

TIOBE是一家荷兰的编程软件质量评估公司,每月发布一份编程语言排行榜。它使用搜索引擎查询结果、开发者社区活跃度和其他指标来评估编程语言的受欢迎程度。

2023年10月TIOBE编程语言排行榜

2、Stack Overflow开发者调查

Stack Overflow每年进行一次开发者调查,其中包括有关最受欢迎编程语言的信息。Stack Overflow 开发者调查是最权威的编程语言排行榜之一,该调查可以反映全球开发者对编程语言的喜好和使用情况。在选择编程语言时,可以参考该调查的结果,但也需要根据自己的实际需求和开发环境进行综合考虑。

连续三年最受欢迎编程语言排名,可以明显的看出Java的占比在逐年的降低

3、GitHub编程语言趋势榜

GitHub提供了一个编程语言趋势页面,显示了开发者在GitHub上使用的编程语言趋势。虽然这不是正式的排行榜,但反映了实际的开发趋势。

GitHub在趋势榜比较前的基本者是Python或Go的项目

GitHub官网已经去掉了top的排名榜只保留了趋势榜,由一些GitHub的爱好者和贡献者创建和维护的www.github-zh.com的GitHub中文社区网站,是非官方github网站,它旨在为中文用户提供GitHub的相关资讯、教程、交流和协作平台,还可以查到Github项目排行榜。

三、展望Java

可以看到各种编程语言排行榜的数据,虽然会存在片面的情况,但也大体能表现出Java的地位在下降,遥想当年Java是排行榜霸榜老大哥。

虽然Java明显下降,或许正如TIOBE首席执行官说的“Java 受欢迎程度下降的主要原因是 Oracle 在 Java 8 之后决定引入付费许可模式。微软在 C# 上采取了相反的做法。”在这个开放的世界里真正的开源而不是利用开源来测试付费项目才能真正的让大家推崇。

Java的许可模式变化导致用户流失。自从Java 8之后,甲骨文公司决定对Java的商业使用收取费用,这使得一些企业和开发者转向其他免费或开源的语言,如C#、Python等 。

Java的竞争对手不断发展和创新,提供了更多的选择和优势。例如,C#在.NET平台上不断完善和扩展,支持跨平台、混合开发、WebAssembly等技术 ;Python在数据科学、人工智能、Web开发等领域有着广泛的应用和生态 ;Kotlin作为Android官方推荐的语言,兼容Java,并提供了更多的语法糖和功能 。


Java虽然在编程语言排行榜上有所下降,但并不意味着Java就没有前途和价值。Java仍然是一门成熟、稳定、高效、跨平台的语言,拥有庞大的用户群和丰富的生态系统。Oracle作为Mysql、Java等重量级项目的拥有者,也在不断地改进和创新Java,让Java能够适应时代的变化和需求。包括Java 17的免费、Kafka/Spring Boot新版本最低的Java版本为17、Java 21引入协程等,都是Oracle在努力让Java保持竞争力和活力的例证 。

未来在不断的变化,说不定马斯克的美女机器人就真的造出来了。。。

当然,我们也不能忽视其他编程语言的发展和优势,我们应该保持开放和学习的心态,了解不同语言的特点和适用场景,选择最合适的语言来解决问题。编程语言只是工具,重要的是我们能够用它们创造出有价值的产品和服务。

这篇关于2023年震撼!Java地位摇摇欲坠?Java在TIOBE排行榜滑坡至历史最低!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/233779

相关文章

Java对象和JSON字符串之间的转换方法(全网最清晰)

《Java对象和JSON字符串之间的转换方法(全网最清晰)》:本文主要介绍如何在Java中使用Jackson库将对象转换为JSON字符串,并提供了一个简单的工具类示例,该工具类支持基本的转换功能,... 目录前言1. 引入 Jackson 依赖2. 创建 jsON 工具类3. 使用示例转换 Java 对象为

SpringBoot快速接入OpenAI大模型的方法(JDK8)

《SpringBoot快速接入OpenAI大模型的方法(JDK8)》本文介绍了如何使用AI4J快速接入OpenAI大模型,并展示了如何实现流式与非流式的输出,以及对函数调用的使用,AI4J支持JDK8... 目录使用AI4J快速接入OpenAI大模型介绍AI4J-github快速使用创建SpringBoot

Java中的Cursor使用详解

《Java中的Cursor使用详解》本文介绍了Java中的Cursor接口及其在大数据集处理中的优势,包括逐行读取、分页处理、流控制、动态改变查询、并发控制和减少网络流量等,感兴趣的朋友一起看看吧... 最近看代码,有一段代码涉及到Cursor,感觉写法挺有意思的。注意是Cursor,而不是Consumer

解决java.lang.NullPointerException问题(空指针异常)

《解决java.lang.NullPointerException问题(空指针异常)》本文详细介绍了Java中的NullPointerException异常及其常见原因,包括对象引用为null、数组元... 目录Java.lang.NullPointerException(空指针异常)NullPointer

javaScript在表单提交时获取表单数据的示例代码

《javaScript在表单提交时获取表单数据的示例代码》本文介绍了五种在JavaScript中获取表单数据的方法:使用FormData对象、手动提取表单数据、使用querySelector获取单个字... 方法 1:使用 FormData 对象FormData 是一个方便的内置对象,用于获取表单中的键值

前端知识点之Javascript选择输入框confirm用法

《前端知识点之Javascript选择输入框confirm用法》:本文主要介绍JavaScript中的confirm方法的基本用法、功能特点、注意事项及常见用途,文中通过代码介绍的非常详细,对大家... 目录1. 基本用法2. 功能特点①阻塞行为:confirm 对话框会阻塞脚本的执行,直到用户作出选择。②

SpringBoot项目注入 traceId 追踪整个请求的日志链路(过程详解)

《SpringBoot项目注入traceId追踪整个请求的日志链路(过程详解)》本文介绍了如何在单体SpringBoot项目中通过手动实现过滤器或拦截器来注入traceId,以追踪整个请求的日志链... SpringBoot项目注入 traceId 来追踪整个请求的日志链路,有了 traceId, 我们在排

Java实战之利用POI生成Excel图表

《Java实战之利用POI生成Excel图表》ApachePOI是Java生态中处理Office文档的核心工具,这篇文章主要为大家详细介绍了如何在Excel中创建折线图,柱状图,饼图等常见图表,需要的... 目录一、环境配置与依赖管理二、数据源准备与工作表构建三、图表生成核心步骤1. 折线图(Line Ch

Spring Boot 3 整合 Spring Cloud Gateway实践过程

《SpringBoot3整合SpringCloudGateway实践过程》本文介绍了如何使用SpringCloudAlibaba2023.0.0.0版本构建一个微服务网关,包括统一路由、限... 目录引子为什么需要微服务网关实践1.统一路由2.限流防刷3.登录鉴权小结引子当前微服务架构已成为中大型系统的标

Java集合中的List超详细讲解

《Java集合中的List超详细讲解》本文详细介绍了Java集合框架中的List接口,包括其在集合中的位置、继承体系、常用操作和代码示例,以及不同实现类(如ArrayList、LinkedList和V... 目录一,List的继承体系二,List的常用操作及代码示例1,创建List实例2,增加元素3,访问元