因为随着时间的推移,Java的优势逐渐开始弱化了

趋势是,多语言百家争鸣

来说说Java的这些个优点是如何被弱化的。

  • JVM: 说到Java的强项之一,不得不说Jvm。也就是java虚拟机。之前,有人说过Java比较安全,我一直不理解所谓的“安全”是什么。后来知道了,其实指的就是Jvm。一个应用跑在Jvm上,内存的管理,内存泄漏,带来的问题就没那么严重了。一台Linux服务器,上面跑了3个Java应用,有一个应用内存泄漏了,会怎样?最多也就是这个应用挂掉。基本不会影响其他应用。但是现在呢?随着容器技术的普及,容器变相实现了Jvm的部分特性。也就是安全,Cgroup+namespace的容器,代表着你的容器是相对安全的。给你分配这么多资源,就是这么多资源。内存泄漏也不会影响到宿主机以及宿主机的其他应用。虽然jvm不止这一点优势,但很重要的一部分优势已经有可以取代的东西了。
  • 最完善的生态:至今为止,Java作为后端开发语言来说,生态依然是最完善的。Spring全家桶,提供了你所能想到的几乎全部技术栈的工具框架。但是,随着程序员不断增加,其他语言一直也在追赶,完善,这是其一。另一方面呢,随着微服务思想的普及,大公司的技术栈不在拘泥于某一种技术。比如,C语言提供了某个高性能运算能力,我们需要他,我只需要用我们的Go,Java,Python,通过命令或者rpc调用它暴露出来的服务即可。也就是说,在技术需要全面互联的时候,语言生态慢慢不那么重要了。因为几乎所有的语言,都会提供,将服务暴露出来的能力。在这个基础上,大家其实都回到了统一起跑线。某个工具,只有Java支持,我只需要用Java为其写个中间件足矣,并不需要我全部技术栈都是Java。
  • 强大的语言特性: 在2022这个年头。语言之间的差距可以说越来越小了,你有的,别人都有。别人有的,你也得有。就像现在的手机一样,一家出三摄像头,全都出三摄像头。不说这件事是好是坏,只能说是必然趋势。
  • 。。。。。。

当然,原因可能不止这点。核心想表达的意思是 —— 现在的趋势是,众多语言百家争鸣的时代正在慢慢步入。未来,程序员的中心必然会从语言特性,转移到编程思想。毕竟,语言只是工具。