@
lesismal 脱离业务需求去谈语言是正儿八经的纸上谈兵。
本来是不想说话的,但是看到这篇长文还是出来了。 被 Java 的臃肿恶心到了,请问是哪方面的臃肿,如果你说的是语法糖比较少,那我信了。起码得说一下到底臃肿在哪了。这时候就不得不说为什么现在最流行的部署版本是 1.8 的原因了。 原因就是,为什么要换新版本? Java 最早设计的是面向全平台的,有不同的版本 ME SE SERVER 的。现在基本上使用最广泛的就是中型或重型企业级的应用,那为什么这些企业倾向于使用 Java 呢? 因为稳定、可靠、久经考验、成熟的生态和以 Oracle 为首的本身作为企业级服务提供商的大企业背书,对于 Java 自身所适应的业务方案,他就是最佳选择。 如果不打算使用动态特性,对代码进行 Native 编译,其性能是基本和 cpp 持平的,很好理解,因为大家都是机器码,就是要抛弃 Java 的很有有用且优秀的特性,例如反射,动态加载。 “所谓的生态优势”,微软都要哭了好么? 生态就是语言最大的护城河啊 这点都不明白还出来讨论啥语言。。 只要 Java 本身还在持续的迭代,还继续有大企业背书,其性能和可靠性依然与同类语言基本持平,他的地位就是不可取代的。kotlin? kotlin 也不行的。Java 背后还有个 JCP 来控制整个生态的可持续和稳定性呢。对于 web 来说,目前还没有 Java 不适应的领域呢,做游戏服务端用 Java 的也比比皆是,毕竟 GraalVM 之后,其本地化之后对资源占用率有很大程度的优化。 当然,没有白吃的内存,除非是内存泄漏。吃掉的资源一部分是用来提供动态特性的支持,一部分就是用来维持其稳定性的。 有可以出错的余量,才会稳定。 能保证程序一定不出错么? 基本是不能的。
“Javaer 遇到复杂点的问题比较容易懵逼”,不好意思,这事儿不是说用哪种语言的人会这样,是这类人是这样的。 就不展开说了。
脱离你的业务场景去谈我要用什么语言是很无聊的, 除非你是架构师,架构你说算了,或你是技术总监, 技术路线你说了算,或者说你有用 golang 去做中型或重型企业级应用的丰富经验,觉得可行并能够说动以上两种人去做,那完全没问题,那你说的就是完全正确的。 有人说 Java 不厉害,厉害的是 JVM , 嗯 我完全赞同。但这俩是一块出生的,所以就一块共生到现在了,就是这么无解。