【CSDN 编者按】你知道吗?Java 已经 27 岁了,它是许多开发者的入门语言。对比 50 岁的 C,又显得非常年轻。可面对AI、云原生时代的来临,不少人开始唱衰 Java 正处于“中年危机”中,可能无法胜任。
作者 | 蔡俊鸿 责编 | 张红月
出品 | CSDN(ID:CSDNnews)
5 月 23 日,是 Java 的 27 岁生日。从 1995 年走来至今,Java 筑造的庞⼤帝国,已经不仅仅是⼀⻔编程语⾔,更是⼀个开发与计算平台。
⽬前 Java 在全球已经拥有百万开发者,有百亿规模的虚拟机在全球运⾏。从 TIOBE 数据可以看到 Java 虽然⼀直处于排名前列,但是却呈现下滑趋势。
面对 Python、Kotlin 等后起之秀的追赶,和 C、C++、C# 等老牌语言的夹击,Java 在未来 10 年尤其是在当下的热⻔领域中能否依然保持前列的优势?是否能在⼈⼯智能、云原⽣等领域持续发力?
从当前的应用现状中,我们将窥探在主流的技术领域 Java 的进一步发展。
云原生时代的 Java
⽬前在以 Kubernetes 为基础的 Cloud Native 领域中,Node.js 项⽬占⽐最⾼,Java 尚未占据绝对优势。
不过,得益于 Java ⽣态系统的加持,Graalvm、Quarkus、Kruize Autotune 等优秀项⽬的崛起,同时互联⽹有⼤量历史项⽬都基于Java 技术栈进⾏开发,随着互联⽹公司对现有服务的重构以及 Java 在云原⽣积累的提升,相信 Java 在未来云原⽣应⽤的领域中依然能发光发热。
机器学习:Java 未入前三
这⼏年机器学习的热度席卷全球,⽽由于 Python 具有更低的学习成本、更轻便、拥有⼤量开源科学计算、机器学习的类库,使得机器学习中⼤量的开源项⽬和开源框架主要采⽤了 Python。但 Python 并不是机器学习中的唯⼀玩家,由于单⼀的机器学习项⽬通常为技术向项⽬,⽽要把机器学习项⽬变成机器学习产品还需要经历很多步骤,通常需要更多其他语⾔配合,⽽不仅仅使⽤ Python。实际上有⼀份关于“在 AI 或机器学习开发中你最可能使⽤哪种语⾔?”,每位调查者可以选择三种语⾔。最终结果如下:
Java 与数据科学
毫⽆疑问,Java 在数据科学领域有着很⼤的发挥空间。虽然⼤家更倾向于使⽤Python 和 R 语⾔进⾏数据分析和处理,但是由于 Apache Spark,Kafka, Hadoop,Hive,Cassandra 等⼤数据框架皆运⾏在 JVM 上,因此 Java 在数据科学领域⽬前依然有着⾃⼰的⼀席之地。实际上,很多头部公司,诸如Spotify 正是使⽤了 Java 与 Python 共同打造了⾃⼰的数据科学服务。
Java 与智能设备&IOT
互联⽹⽬前的发展已经趋于⽩热化,传统互联⽹最终迈向万物互联的时代、XR时代,⽽⽬前⼤部分的智能设备均构建于 Android 系统之上。Android 应⽤的主要开发语⾔为 Java 和 Kotlin,⽽ Kotlin 也依赖于 JVM。从各种智能⼿机、智能电视甚⾄到元宇宙公司 Meta 旗下的 Oculus 设备⽆不基于 Android系统。
对于 IOT ⽽⾔,如果你⽬标平台是诸如树莓派这种性能较⾼的平台,Java 依然是⼀个不错的选择。但⼤部分 IOT 设备其实⽐树莓派简单得多,诸如 Arduino, ESP8266 甚⾄更简单的设备,⾸选⼏乎是采⽤ C 这样没有任何额外性能开销的语⾔或 C++、Rust 等性能特性接近于 C 的语⾔。
总结
即使 Java 在各种新兴领域⽬前有很⼤的不⾜,但由于其庞⼤的⽤户群和历史项⽬,使得各⼤公司不会轻易放弃 Java。随着编程新时代的到来,Java 会以更多的形式出现在项⽬中,或为架构⽀撑、或为微服务、或为类库、或为运⾏时环境……
你觉得 Java 的未来会如何呢?你最近一次使用 Java 编码是什么时候?
领取专属 10元无门槛券
私享最新 技术干货