架构师动态
TIOBE 10月榜单公布,java被C#超越,即将跌至第5名
本 文 目 录
今天,10 月 TIOBE 编程语言榜单已最新出炉,一起来看看本月有什么值得关注的新变化吧!
Java被 C# 超越, 即将降至第 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%
- 按照 TIOBE 的官方说法:“C# 和 Java 之间的差距从未如此之小。
- 如果这种趋势保持不变,预计 C# 将在两个月后超过 Java。”
-
回顾 C# 诞生的这 23 年来,它与 Java 之间因相似的特性与应用领域一直竞争不断。
2000 年,微软发布由 C 和 C++ 衍生出来的面向对象的编程语言 C#,也是运行于 .NET Framework 和 .NET Core(完全开源,跨平台)之上的高级程序设计语言,由 Delphi 和 TypeScript 之父、.NET 创立者 Anders Hejlsberg 开发。
乍看之下,C# 与 Java 惊人地相似:
- 面向对象编程的语言;
- 有着几乎同样的语法;
- 都需要编译成中间代码再运行;
- 都支持跨平台;
- 都支持单一继承和多接口实现;
- 都提供自动垃圾回收功能;
- 都支持强引用和弱引用;
- 此外异常处理方式也几乎相同……
不过,C# 与 Java 之间的区别也很明显:
C# 借鉴了 Delphi 的一个特点,与 COM(组件对象模型)直接集成,还支持在创建数组时既定义数组大小又给数组赋值,同时支持使用预处理程序指令进行条件编译和 goto 语句等等。
然而,Java 受欢迎程度下降的原因不仅是因为后来者 C# 的各种优势,也因为甲骨文公司在 Java 8 之后决定引入付费许可模式。
而微软在 C# 上则是采取了相反的策略:先是只能用作商业工具 Visual Studio 的一部分使用,如今 C# 已是免费开源的,因此受到了许多开发人员的欢迎。
除了付费许可模式,TIOBE 还推测了一些 Java 逐年衰落的其他原因:
例如 Java 语言的定义在过去几年里没有太大变化,相比之下“其完全兼容的直接竞争对手 Kotlin 更容易使用,而且免费”——似乎是印证了这个说法。
在本月的 Top 20 榜单中,Kotlin 继上个月强势“杀回” Top 20 后,本月再次上升两个名额,到了第 18 名。
————————————————
以上文章由我们二次梳理。 来源:https://blog.csdn.net/techforward/article/details/133744129