曾几何时,Java可是排列在编程语言的第一名的。而现在跌落到第三名。我觉得Java没落有以下几点原因:
- oracle收购之后,java不再开源。Java能发展是因为开源免费跨平台,现在这么一搞,Java都要收费,使用的人自然就少了。反观.NET。从闭源到现在的全面开放源代码,同时基本上实现了全平台,超越Java只是时间问题。
- Java生态确实是大,这点其他语言真的是没法比,但是.NET也在慢慢追赶,靠着微软背书,生态也在逐步蚕食Java的生态
- 性能。由于垃圾收集器的存在,在垃圾收集的时候会stop the world,这一点.NET和Java都一样。不过.NET目前在搞AOT,等到AOT成熟,那要胜过Java好多。
- 微服务方面。Java有springboot,Spring Cloud全家桶。个人觉得Spring Cloud更像是几个大杂烩,其中的组件可以用Java,也可以在.NET使用。而除此之外,Java在微服务方面其他的框架就不是很多了。而.NET推出了好多优秀的框架,像orleans等
- 语法糖。.NET的语法糖比Java多了很多,也方便了许多。
- 泛型. .NET的性能高于Java。
语言本身没有优劣之分,适合自己的才是最好的语言。