3 ms·
I think it's disingenuous to deflect by saying that Scala didn't invent those concepts. I think it's pretty clearly significant that Scala and Kotlin are JVM l
by ragnese 6y ago
I think it's disingenuous to deflect by saying that Scala didn't invent those concepts.
I think it's pretty clearly significant that Scala and Kotlin are JVM languages, specifically.
If we just said "Well, StandardML had XYZ feature 30 years ago," you could reasonably wonder whether implementing those features on the JVM was a legitimate hurdle to not including them.
But the fact that the guy who wrote generics for Java then went and created Scala with these features is telling.
I also don't think that "Java is conservative" is the correct description of what's going on here. Look at the OP (I know you're a Java guy, so I don't mean that literally)- Java used to get maybe one language change for each major version until 16 where it got a bunch.
Why? I don't know. But I think it's totally fair to observe two correlations in recent history:
1. Oracle obtained control of Java
2. Many other, very good, programming languages have been coming on the scene: Swift, Go, Rust, Kotlin, TypeScript, C#, F#. Even older programming languages have seen major advances in the last 5-10 years: C++ and PHP among them. I think it's pretty clear that Java just didn't feel the pressure to make itself better until recently.
- pron 6y agoYou're right about your main points: for some years before Sun's demise Java was neglected and lacked resources, and Oracle has gradually but significantly increased its investment in the platform. It is also true that the abnormality of ~2000-2005, when there were few popular languages, has ended. But the following two facts are also true: Scala didn't invent those features, and neither Kotlin nor Scala are big enough to be serious competitors for Java. So Java might be feeling the heat of competition, but not from those two, and, like all other languages, it looks around and borrows features, but not from those two more than others. It is possible that Java platform languages might indicate the palatability of certain features to Java programmers more than non-Java platform languages, and the Java language designers do have a closer relationship with the designers of other Java platform languages. But overall, these effects are not particularly big. Knowing the current designers of the language, I can say with certainty that Haskell has served as a bigger inspiration than either Kotlin or Scala on recent features and their design (inspiration, not direct source).