当前位置: 欣欣网 > 码农

Java被挤出前三:开源编程语言的新局面

2024-07-08码农

T IOBE 编程语言榜单已最新出 炉,一起来看看本月有什么值得关注的新变化吧!

1、被 C# 超越,Java 即将跌至第 5 名?

去年 12 月, Java 历史首次被 C++ 超越、 跌出榜单前三的事实,令许多程序员深感意外,由此发出不少 「 Java 英雄迟暮?」、「 Java 真的已死? 」的疑惑。自此以后, 这 10 个月来 Java 在 TIOBE 编程语言榜单的排名再也没上过前三,与 C++ 之间的差距也日益扩大。

可能很难预料到,昔日常年霸榜的 Java 在被挤出 Top 3 之后, 如今甚至还面临着被 C# 超越、即将跌至第 5 名的危险。

市场份额来看,Java 在 Top 20 编程语言中的降幅最大,为 3.92%;反观 C# 的涨幅高达 3.29%,彼此仅相差 1.2% —— 按照 T IOBE 的官方说法:「 C# 和 J av a 之间 的差距从未如此之小。 如果这种趋势保持不变,预计 C# 将在 两个月后超过 Java。」

回顾 C# 诞生的这 23 年来,它与 Java 之间因相似的特性与应用领域一直竞争不断。2000 年, 微软发布 由 C 和 C++ 衍生出来的面向对象的编程语言 C #,也是 运行于 . NET Framework 和 .NET Core(完全开源,跨平台)之上的高级程序设计语言 ,由 Delphi 和 TypeScript 之父、.NET 创立者 Anders Hejlsber g 开发

乍看之下, C# 与 Java 人地相似:面向对象编程的语言,有着 几乎同样的语法, 都需要编译成中间代码 再运行,都支持跨平台,都支持单一继承和多接口实现,都提供自动垃圾回收功能,都支持强引用和弱引用,此外异常处理方式也几乎相同…… 不过,C# 与 Java 之间的 区别也很明显:C# 借鉴了 Delphi 的一个特点,与 COM(组件对象模型)直接集成,还支持在创建数组时既定义数组大小又 给数组赋值,同时支持使用预处理程序指令进行条件编译和 goto 语句等等。

然而, Java 受欢迎程度下降的原因不仅是因为后来者 C# 的各种优势,也因为 甲骨文公司在 Java 8 之后 决定 入付费许可模式。而微软在 C# 上则是采取了相反的策略:先是只能用作商业工具 Visual Studio 的一部分使用,如今 C# 已是免费开源的,因此受到了许多开发人员的欢迎。

除了付费许可模式,TIOBE 还推测了 一些 Java 逐年衰落的其他原因,例如 J a va 语言的定义在 过去 几年里 大变化,相比之下「 其完全兼容的直接竞争对手 Kotlin 更容易使用 ,而且免费 —— 似乎是印证了这个说法,在 本月的 Top 20 榜单中, Kotlin 继上个 强势「杀回」 Top 20 后,本月再次上升两个名额,到了第 18 名。

2、其他编程语言

以下为 Top 21-50 的 程语言榜单:

第 51-100 名如下,由于它 们之 间的数值差异较小,仅以文本形式列出(按字母 排序):

  • 4th Dimension/4D, ABC, ActionScript, Apex, APL, Ballerina, bc, CL (OS/400), Clean, Clipper, CLIPS, Clojure, Crystal, Curl, Eiffel, Elixir, Erlang, Forth, Groovy, Hack, Icon, IDL, Io, J, J#, LabVIEW, Ladder Logic, LiveCode, ML, Modula-2, MQL5, NATURAL, Nim, OCaml, OpenEdge ABL, PL/I, PostScript, Pure Data, Q, Racket, Raku, REXX, RPG, Smalltalk, SPARK, SQR, Tcl, TOM, VHDL, Wolfram

  • 3、Top 10 编程语言 TIOBE 指数走势(2002-2023)

    4、历史排名(1988-2023)

    注:以下排名位次取决于 12 个月 平均值。

    5、编程语言「名人榜」(2003-2022)

    【说明】:

    TIOBE 编程语言社区排行榜是编程语言流行趋势的一个指标,每月更新,这份排行榜排名基于全球技术工程师、课程和第三方供应商的数量,其中包括了流行的搜索引擎以及技术社区,如 Google、百度、百科、CSDN、必应、 Hao 123 等等。具体的计算方式详见:https://www.tiobe.com/tiobe-index/pro gramming-languages-definition/。请注意这个排行榜只是反映某个编程语言的热门程度,并不能说明一门编程语言好不好,或者一门语言所编写的代码数量多少。

    这个排行榜可以用来考察你的编程技能是否与时俱进,也可以在开发新系统时作为一个语言选择依据。

    详细榜单信息可参考 TIOBE 官网:https://www.tiobe.com/tiobe-index

    END