为什么Java流行了这么久,而Scala来去匆匆? - Reddit


1、要成为主流编程语言是非常困难的。它需要很长的时间来建立动力:社区、库、工具和整个生态系统。今天许多流行的语言,如java、C、C++或python,已经存在了几十年。
语言的设计是一方面,另外一方面人们似乎低估了一种语言保持流行所需的其他重要因素。当涉及到适应新的语言时,软件行业往往是相当保守的,而程序员通常经常为一种语言的生态系统做出贡献。语言的生态系统可能比语言设计本身更重要


2、向后兼容。这也是scala多年前失败的地方。每一个新的语言版本都会破坏旧的lib,而这些lib需要由维护者来修复,以适应新的版本。
正如其他人提到的生态系统。Spring Boot和其他开源软件。伟大的工具,如Intellij IDEA。很多人都在使用它,所以有很多指南和stackoverflow答案等。
Java仍在不断发展。一些功能特性,如lambdas和流API被添加进来。

3、Scala 仍然存在,找到了自己的小众市场。但是 Akka 许可证的变化令人不安。

4、太多的人专注于语言本身,而忽略了生态系统、开发者队伍和它所要解决的一系列问题。
有所有这些替代的JVM语言是件好事。他们中的许多人用新功能创造了竞争,然后Java吸收了它们。
SUN公司是Java的一个薄弱的监管者。200年代初的那些EJB垃圾让我觉得他们并没有真正理解JVM/Java的力量。尽管甲骨文可能很邪恶,但他们有足够的实力与微软抗衡。

5、Java 之所以受欢迎,是因为它的生态系统令人惊叹。我真的不在乎语言……当我在该区域时,我什至没有注意到语言。
我认为他们最大的优势(尽管很糟糕)是确保 Java EE 可以拥有多个供应商。这保证了企业承诺的广泛生态系统。

6、是Sun让Java变得自由和开放。甲骨文永远不会这么做。Java发展方式的重大机会在Sun期间就已经开始了,而且Java团队的很大一部分人(幸运的是)在甲骨文公司继续工作。
EJB这套东西起源于IBM,Sun采用了它,再加上其他大的 "企业 "公司,如Oracle,以及其他一些可能在这个时候被IBM或Oracle收购的公司,它演变成了一个可怕的软件工程理念的大例子。

7、在 OpenSTEP 时代,EJB 垃圾是受 Objective-C 框架影响,这是 Objective-C 如何影响 Java 的另一个谜题。它宣称分布式对象无处不在。

8、Scala 解决了大多数开发人员从未真正关心的语言语法问题。

9、为什么会出现 groovy、Scala、Kotlin 等替代 JVM 语言?答案是 Sun 让 Java 闲置了太久,它落后于开发人员在生态系统中想要的东西。人们厌倦了等待 Sun 并开始对 Java 进行自己的改进。一旦 Oracle 开始改进 Java 并且我们采用了新的 6 个月发布格式,这些其他语言的优势很快就消失了。由于甲骨文和谷歌之间的法律问题,Kotlin 得以延续至今。

10、业余爱好者谈论编程语言。专业人士谈论生态系统。