為什麼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、業餘愛好者談論程式語言。專業人士談論生態系統。

為什麼Java流行了這麼久,而Scala來去匆匆? - Reddit